Из MSDN о OnCollectionChanged: «Происходит при добавлении, удалении, изменении, перемещении или обновлении всего списка».
Я изменяю свойство, прикрепленное к объекту, который находится в моей коллекции, но OnCollectionChanged не запускается. Я реализую iNotifyPropertyChanged в классе obj.
public class ObservableBatchCollection : ObservableCollection<BatchData>
{
protected override void OnCollectionChanged(System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
{
if(e.Action == System.Collections.Specialized.NotifyCollectionChangedAction.Add)
{
foreach (BatchData item in e.NewItems)
{
}
}
base.OnCollectionChanged(e);
}
public ObservableBatchCollection(IEnumerable<BatchData> items)
: base(items)
{
}
}
Для меня это означает, что при изменении элемента в коллекции, такого как свойство объекта, должно возникать это событие. Это не так, однако. Я хочу знать, когда изменяется элемент в моей пользовательской коллекции, чтобы при необходимости я мог выполнить для него расчет.
Есть мысли?