CollectionChanged event of ObservableCollection



我有一个 ObservableCollection,这个集合有 2 个项目(模型),模型有 Value 作为属性。

集合有一个事件 CollectionChanged,它假设在项目更改时触发,所以我希望看到这个事件在模型值设置时被触发,但我不知道应该如何构建模型来触发该事件?

我知道模型可以有一个事件,当添加模型时,可以将处理程序分配给此事件,但我想知道 CollectionChanged 如何用于更改集合中的项目?

当一个模型替换集合中的另一个模型时,才会引发CollectionChanged。对集合中已有的模型的属性更改不会引发它。

您需要处理具有INotifyPropertyChanged.PropertyChanged事件的事件,您的模型必须公开该事件。

如果元素中的属性发生更改,则不会触发它,仅当您将新的"模型"项分配给集合的索引时。

如果希望 WPF 在更改 Model 类中的属性值时进行更新,则需要使模型实例实现 INotifyPropertyChanged

一个技巧是向集合添加一个新元素并立即将其删除。 这将引发集合更改事件。

最新更新