【发布时间】:2010-08-23 18:55:03
【问题描述】:
我已经用 Editable WPF DataGrid 绑定了一个列表
我只想从 WPF 数据网格中获取修改后的项目以进行更新。
请告诉我该怎么做。
【问题讨论】:
标签: wpf binding wpfdatagrid
我已经用 Editable WPF DataGrid 绑定了一个列表
我只想从 WPF 数据网格中获取修改后的项目以进行更新。
请告诉我该怎么做。
【问题讨论】:
标签: wpf binding wpfdatagrid
我的 WPF 数据网格应用程序设置如下:
1) 手动定义所有列,设置它们的绑定,并为每个绑定指定它通知源更新
2) 为数据网格的 SourceUpdated 事件添加了事件处理程序
3) 在事件处理程序中,我只有以下代码:
this.updatedItems.Add(BindingOperations.GetBindingExpression(e.TargetObject, e.Property).DataItem as MyClass);
updatedItems 是一个 HashSet,MyClass 是绑定到数据网格的 ItemsSouce 的对象类型。
4) 当用户单击保存按钮时,我只是枚举哈希集。 Hashset 很好,因为它只包含唯一值。因此,如果一行被多次编辑,或者即使同一行中的多个单元格被编辑,哈希集仍将只包含该对象的一个条目。
【讨论】:
您的数据行上有一个 RowState 属性(还有一个 RowChanged 事件),但请确保您需要它。我是否错误地假设数据绑定会自动确定哪些行需要更新?
【讨论】: