c# - 编辑 DataGrid 行并提交数据后的事件通知

标签 c# wpf datagrid

在编辑 WPF DataGrid 行并将更改提交到基础对象之后,有什么方法可以接收通知吗?此时我想将修改的项目持久保存到磁盘。

我不需要知道哪一行被修改,我可以自己找到,我只需要一行已被修改的通知。

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

最佳答案

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

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

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

关于c# - 编辑 DataGrid 行并提交数据后的事件通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21608656/

相关文章:

wpf - InputBinding 而不是 PreviewKeyDown

c# - 定时器事件不触发按钮点击

wpf - 托管 WPF 和 native 代码互操作。 WPF 托管在 ServicedComponent 中

c# - 将列表的 n 个元素复制到新列表

c# - 使用 Entity Framework 分离数据层和域层的正确方法

c# - .net 核心添加一个 .net 标准 dll 作为引用

c# - 如何为 DataGrid WPF 创建复杂的过滤器

datagrid - 我可以阻止人们编辑 ag-Grid 中的特定单元格吗?

c# - 如果用户使用 ASP.NET 在浏览器中直接输入 URL,如何重定向到登录页面

c# - Visual Studio 包 - 在代码中包含和使用外部资源(图像)