伪码样本:
<UserControl>
<ComboBox SelectedValuePath="Id" SelectedValue="{Binding CurrentObject.Id, Mode=TwoWay}" ItemSource="{Binding Groups}"/>
<ComboBox SelectedValuePath="Name" SelectedValue="{Binding CurrentObject.Status, Mode=TwoWay}" ItemSource="{Binding Statuses}"/>
</UserControl>
我将<MyObject>
类型的对象传递给此用户控件,修改它然后保存。执行此操作后,我正在使用CurrentObject = null
重置状态。在第二次通过时,虽然有实际数据,但这些组合框没有选定的值。我该如何解决?
答案 0 :(得分:0)
您始终必须将数据绑定的数据源设置为某个对象,否则数据绑定将不起作用。绑定到null将永远不会起作用 不要将currentobject设置为null,但可以将CurrentObject.Id设置为0,并在知道后立即将其重置为最终值(例如,在第二次传递时)。当您的对象实现INotifyPropertyChanged时,将更新用户界面上的值。