WPF ComboBox到ObservableCollection绑定

时间:2014-04-11 16:07:50

标签: c# wpf xaml mvvm observablecollection

我知道有一些关于这个问题的话题,但我找不到任何解决这个问题的方法..

我有一个带有可观察集合的ViewModel,我想将这个集合绑定到一个组合框。但是,没有选定的项目,没有索引,只有集合本身。

在XAML中我有

ComboBox ItemsSource =" {Binding OSCollection}"的的DisplayMemberPath =" OSCollection.Name"

我认为麻烦在于上面的粗体,我想从名为name的集合中获取属性,但就像我说的那样 - 在绑定之前不会选择任何项目。

我可以使用foreach或其他东西从集合中提取属性,但我不认为这是MVVM和WPF方式。

任何帮助都会感激不尽。

由于

2 个答案:

答案 0 :(得分:2)

DisplayMemberPath指定显示属性的路径。因此它应该是名称而不是 OSCollection.Name

  ComboBox ItemsSource="{Binding OSCollection}" DisplayMemberPath="Name"

答案 1 :(得分:1)

除了Sajeetharans评论: 绑定到类型T的列表时,DisplayMemberPath将始终引用Property T的名称。在你的情况下,它只是"名称"