2009-05-20 63 views
0

我有两个viewmodels。一个显示IPAddresses集合,另一个显示具有多个参数的对象集合。其中一个参数是IPAddress。所以,我有另一个面板绑定到第二个对象的属性。我想要一个组合框将ItemSource设置为第一个对象,但将选定项绑定到第二个对象。但是,我似乎只能在代码背后的控件上设置一个数据上下文。有没有办法解决?如果可能的话,我宁愿在代码背后做这件事(我发现xaml编程最好不是理想),但我会采取任何行动。(WPF)将两个类绑定到一个控件

回答

0

如果我更好地描述了包括名称在内的对象,这将更容易回答。但在我看来,你应该用ipaddress作为关键字并将第二个对象作为值来制作字典。

如果你能做到这一点,那么你可以给它绑定的代码如下所示:

comboBox.ItemsSource = dictionary; 
comboBox.DisplayMemberPath = "Key"; 
comboBox.SelectedValuePath = "Value"; 

这是假设你有一个确切的“第二对象”为每个ip地址收藏。根据你的描述,这听起来正确。

1

对于ComboBox将IPAddresses的集合绑定到ItemsSource属性,并将ComboBox的SelectedItem绑定到“众多属性对象”集合的SelectedItem的IPAddress属性。

0

看看Bindings的​​。它基本上是一个特定绑定的DataContext。它应该让你想做的事情变得非常简单,特别是在代码背后。

相关问题