更新DataGrid ByRef中的SelectedItem并保留SelectedItem行为WPF

时间:2011-11-22 19:56:22

标签: wpf datagrid inotifypropertychanged selecteditem byref

我有一个带有Observable Collection的自定义对象的数据网格。 selectedItem绑定在我的视图模型中设置为SelectedCustObject。我已经连接了属性Changed处理程序,因此我可以在用户对selectedItem进行更改时随时更新数据库。当属性更新时,我的Save()子会触发并将自定义对象ByRef传递给我的中间层(WCF)并返回它。此时,datagrid失去了SelectedItem状态。我不确定我是否正确行事,或者是否有更好的方法。

SelectedItem="{Binding Path=SelectedMeterUsage, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}"

1 个答案:

答案 0 :(得分:1)

听起来好像引用SelectedMeterUsage正在发生变化,并且不再指向ObservableCollection中的同一个实例,因此网格不再知道选择了哪个项目。您需要更改更新代码以不更改引用,或者在保存之后,您需要通过查找具有相同ID的ObservableCollection中的项目并将其分配给{{1}来重置引用}。