我有一个ComboBox
,它是从ItemsSource
集合中填充的。我将所有客户填充到Observable Collection中,然后将其绑定到集合中,就像这样。
<ComboBox ItemsSource="{Binding Path=Customers}"
SelectedValue="{Binding CustomerKey}"
DisplayMemberPath="FullName" SelectedValuePath="{Binding Key}" />
在同一视图中,我有一个数据网格,其中包含订单的基本信息。选择订单后,在视图模型中,我将获得订单的更详细记录。我想要做的是使用新选择的订单的客户信息更新视图。
我试图设置CustomerKey
,然后根据它的关键选择该客户 - 我认为我这样做完全错了。我怎么能做到这一点?
答案 0 :(得分:0)
ComboBox的SelectedValuePath属性应该设置为 string (而不是绑定),它指定存储密钥的Customer类的属性名称:
<ComboBox ItemsSource="{Binding Path=Customers}"
SelectedValue="{Binding CustomerKey}"
DisplayMemberPath="FullName" SelectedValuePath="Key" />
如果Customer类具有FullName和Key属性,并且Key属性与视图模型的CustomerKey属性具有相同的类型,则此方法将起作用。
具有与您设置CustomerKey属性的值匹配的键的客户也必须存在于您将ComboBox绑定到要选择的项目的Customers集合中。