嘿,我的ViewModel上有一个CollectionViewSource属性。
此ViewModel以这种方式绑定到ComboBox:
<ComboBox ItemsSource="{Binding Products.View}"
SelectedItem="{Binding SelectedEntity.Product}"
IsSynchronizedWithCurrentItem="True"/>
绑定到现有的SelectedEntity时,它可以正常工作。
当我尝试绑定到SelectedEntity
时,该dos不具备我想要显示列表中第一个项目的产品。因此我尝试使用Products.View.MoveCurrentToFirst()
,但仍未显示第一项。
当我设置SelectedEntity.Product = Products.View.CurrentItem.
我能做些什么来改进我的代码?这对我来说有点不对劲......
答案 0 :(得分:0)
WPF中的SelectedItem选择整个实例,因此如果您将SelectedItem绑定到Entity的导航属性,那么一切都很好。但是,如果您将SelectedItem绑定到Entity的非导航属性,那么这可能是一个问题,我建议如果这是一个业务要求,而是绑定SelectedValue。
对我来说,我发现最好将SelectedItem绑定到我的Entity的导航属性AND SelectedValue绑定到我的Entity的value属性。
我希望这会有所帮助。