在 Silverlight 中将 null 设置为对象时,与对象属性的数据绑定会中断
-
14-11-2019 - |
题
伪代码示例:
<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
. 。在第二遍中,这些组合框没有选定的值,但有实际数据。我该如何修复它?
没有正确的解决方案
其他提示
您始终必须设置数据源以将数据绑定到某个对象,否则数据绑定将不起作用。绑定到 null 永远不会起作用。
不要将 currentobject 设置为 null,但可以将 CurrentObject.Id 设置为 0,并在您知道后立即将其重置为最终值(例如在第二次通过时)。当您的对象实现 INotifyPropertyChanged 时,用户界面上的值将被更新。
不隶属于 StackOverflow