在编辑 WPF DataGrid 行并将更改提交到基础对象之后,有什么方法可以接收通知吗?此时我想将修改的项目持久保存到磁盘。
我不需要知道哪一行被修改,我可以自己找到,我只需要一行已被修改的通知。
我可以为模型中的每个对象注册一个 PropertyChanged 处理程序,并以这种方式收到通知,但是除了在集合中添加/删除项目时必须注册/取消注册事件处理程序之外,更大的问题是如何处理行编辑时引发多个 PropertyChanged 事件。我不想多次保存该项目。
最佳答案
尝试实现IEditableObject界面,就是为了这个目的而创建的。当行修改完成时,网格将调用 EndEdit
,我相信这是当行失去焦点时。
看看this SO question有关网格如何与此界面交互的更多信息。
如果您计划在刷新时更新网格,或者以其他方式编辑代码中的值,我建议无论如何都实现 INotifyPropertyChanged。如果您想在单元格更新时立即进行更新,您也可以在属性更改处理程序中执行此操作。
关于c# - 编辑 DataGrid 行并提交数据后的事件通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21608656/