WPF绑定1个List中的2个属性

时间:2018-01-16 12:42:49

标签: c# wpf xaml binding

所以我想要完成的是我试图将1个列表中的2个属性绑定到2个不同的ComboBoxes

代码:

combobox1.DataContext = class.repository;
combobox2.DataContext = class.repository;

和xaml

<ComboBox x:Name="combobox1" ItemsSource="{Binding Name}"/>
<ComboBox x:Name="combobox2" ItemsSource="{Binding Password}"/>

示例 - repository [0] =&#34; NAME1&#34;

我得到的结果是我打开ComboBox时的样子:

1项 - N

2项 - A

3项 - M 等等..

我想要的结果是

1项= NAME1

2项= NAME2  ......

感谢您的回复。

2 个答案:

答案 0 :(得分:1)

您应该使用ComboBox的DisplayMemberPath属性来指定您想要查看属性值#34;名称&#34;。

答案 1 :(得分:1)

如果repositorystring[],则应将ItemsSource绑定到DataContext本身:

<ComboBox x:Name="combobox1" ItemsSource="{Binding}"/>

如果存储库是IEnumerable<YourClass>,其中YourClass是具有NamePassword属性的类型,则还应设置DisplayMemberPath属性:< / p>

<ComboBox x:Name="combobox1" ItemsSource="{Binding}" DisplayMemberPath="Name" />
<ComboBox x:Name="combobox2" ItemsSource="{Binding}" DisplayMemberPath="Password"/>