收听ObservableCollection <INotifyPropertyChanged>中任何项的PropertyChanged事件

chi*_*emp 7 c# observablecollection inotifypropertychanged

我为ObservableCollection创建了一个包装器集合,它订阅每个PropertyChanged事件并将其重新抛出为自己的事件ItemPropertyChanged.我使用与我在此描述的方法类似的方法做到了这一点.有没有更好的办法?我错过了另一个已经有这种行为的.NET集合吗?

Mic*_*rry 0

我假设您触发此事件是为了计算聚合。我对这个问题有不同的解决方案。考虑将更新控件与 linq 一起使用。您可以使用 linq 以声明方式描述聚合,更新控件将跟踪其在集合中的依赖关系。每当集合更改或任何引用的属性更改时,它将重新评估聚合。