【问题标题】:Event notification after a DataGrid row has been editted and data committed编辑 DataGrid 行并提交数据后的事件通知
【发布时间】:2014-02-06 16:35:30
【问题描述】:

有没有办法在编辑 WPF DataGrid 行并将更改提交给基础对象后接收通知?此时我想将修改后的项目持久化到磁盘。

我不需要知道哪一行被修改了,我自己可以发现,我只需要一行被修改的通知。

我可以为模型中的每个对象注册一个 PropertyChanged 处理程序并以这种方式收到通知,但是除了在从集合中添加/删除项目时必须搞乱注册/取消注册事件处理程序之外,更大的问题是如何处理在行编辑时引发多个 PropertyChanged 事件。我不想多次保存该项目。

【问题讨论】:

    标签: c# wpf datagrid


    【解决方案1】:

    尝试实现IEditableObject 接口,该接口就是为此目的而创建的。当行完成修改时,网格将调用EndEdit,我相信这是当行失去焦点时。

    查看this SO question,了解有关网格如何与此界面交互的更多信息。

    如果您打算在刷新时更新网格,或者以其他方式在代码中编辑值,我建议您无论如何都实施INotifyPropertyChanged。如果您想在单元格更新时立即进行更新,您也可以在属性更改处理程序中进行。

    【讨论】:

      猜你喜欢
      • 2011-04-25
      • 2016-04-15
      • 1970-01-01
      • 1970-01-01
      • 2021-07-22
      • 2011-04-21
      • 2011-11-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多