我将ObservableCollection绑定到dataGrid itemssource .
只有在我们添加,删除,删除时才会调用可观察Collection的collectionChangedEvent . 但是当我们更新记录时不会触发 .
如何为Update更新事件?
如果您希望在项目更改时收到通知(即您要订阅此事件),则表示您对 ObservableCollection<T> 运气不好,因为此集合仅触发 CollectionChangedEvent .实际上,如果您实现 INotifyPropertyChanged ,您将看到视图中项目的更改(WPF自动执行此操作),但如果您需要在项目更改时执行手动操作,则可以使用 BindingList<T> .
ObservableCollection<T>
CollectionChangedEvent
INotifyPropertyChanged
BindingList<T>
对于这个场景,我推出了一个自定义 BindableCollection<T> ,它实现了 ObservableCollection<T> 并添加了 OnItemChangedEvent . 如有必要,我可以提供一些示例代码......
BindableCollection<T>
OnItemChangedEvent
该集合不知道何时修改记录 . 要在发生这种情况时收到通知,记录需要实现 INotifyPropertyChanged
2 回答
如果您希望在项目更改时收到通知(即您要订阅此事件),则表示您对
ObservableCollection<T>
运气不好,因为此集合仅触发CollectionChangedEvent
.实际上,如果您实现
INotifyPropertyChanged
,您将看到视图中项目的更改(WPF自动执行此操作),但如果您需要在项目更改时执行手动操作,则可以使用BindingList<T>
.对于这个场景,我推出了一个自定义
BindableCollection<T>
,它实现了ObservableCollection<T>
并添加了OnItemChangedEvent
. 如有必要,我可以提供一些示例代码......该集合不知道何时修改记录 . 要在发生这种情况时收到通知,记录需要实现
INotifyPropertyChanged