在 Silverlight 中将 null 设置为对象时,与对象属性的数据绑定会中断

StackOverflow https://stackoverflow.com/questions/5007903

  •  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 时,用户界面上的值将被更新。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top