C# 4.0
Una proprietà di tipo ObservableCollection<T> ( Plus) di un oggetto (Item) per notificare l’aggiunta, la cancellazione o l’aggiornamento di un elemento deve agganciare l’evento “CollectionChanged”, quindi:
_currentItem.Plus.CollectionChanged += CurrentPlusPropertyChanged;
private void CurrentPlusPropertyChanged(object sender, NotifyCollectionChangedEventArgs e)
{
…
}
Si è visto però che per quanto riguarda l’aggiornamento questo evento non scatta e ad oggi non c’è una spiegazione ufficiale su questa anomalia. Bisogna quindi adottare questo workaround: agganciare l’evento PropertyChanged di ogni singolo elemento delle collection;
foreach (Plu plu in _currentItemProduct.Plus)
{
plu.PropertyChanged += CurrentPluPropertyChanged;
}
private void CurrentPluPropertyChanged(object sender, PropertyChangedEventArgs e)
{
…
}