我知道有一些关于这个问题的话题,但我找不到任何解决这个问题的方法..
我有一个带有可观察集合的ViewModel,我想将这个集合绑定到一个组合框。但是,没有选定的项目,没有索引,只有集合本身。
在XAML中我有
ComboBox ItemsSource =" {Binding OSCollection}"的的DisplayMemberPath =" OSCollection.Name"
我认为麻烦在于上面的粗体,我想从名为name的集合中获取属性,但就像我说的那样 - 在绑定之前不会选择任何项目。
我可以使用foreach或其他东西从集合中提取属性,但我不认为这是MVVM和WPF方式。
任何帮助都会感激不尽。
由于
答案 0 :(得分:2)
DisplayMemberPath指定显示属性的路径。因此它应该是名称而不是 OSCollection.Name
ComboBox ItemsSource="{Binding OSCollection}" DisplayMemberPath="Name"
答案 1 :(得分:1)
除了Sajeetharans评论:
绑定到类型T
的列表时,DisplayMemberPath
将始终引用Property
T
的名称。在你的情况下,它只是"名称"