对于ObservableCollection集合,集合中的类型是类。对于集合中某项的属性更改时获取更改事件的方法。
ObservableCollection<Student> Collections = new ObservableCollection<Student>();
Collections.CollectionChanged += Collections_CollectionChanged;
private void Collections_CollectionChanged(object sender, NotifyCollectionChangedEventArgs e)
{
if (e.Action == NotifyCollectionChangedAction.Add) //集合添加新元素
{
foreach (var item in e.NewItems)
{
//挂载属性变更方法
(item as INotifyPropertyChanged).PropertyChanged += Collection_PropertyChanged;
}
}
else if (e.Action == NotifyCollectionChangedAction.Remove)
{
foreach (var item in e.OldItems)
{
//取消属性变更方法
(item as INotifyPropertyChanged).PropertyChanged -= Collection_PropertyChanged;
}
}
}
private void Collection_PropertyChanged(object sender, PropertyChangedEventArgs e)
{
//...逻辑///
///
}