Extrait du MSDN à propos de OnCollectionChanged : "Se produit lorsqu'un élément est ajouté, supprimé, modifié, déplacé ou que la liste entière est rafraîchie."
Je modifie une propriété attachée à un objet qui réside dans ma collection, mais OnCollectionChanged n'est pas déclenché. J'implémente iNotifyPropertyChanged sur la classe de l'objet.
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)
{
}
}
Pour moi, cela signifie que lorsqu'un élément de la collection est modifié, par exemple une propriété de l'objet, cet événement doit se déclencher. Or, ce n'est pas le cas. Je veux être en mesure de savoir quand un élément de ma collection personnalisée change afin de pouvoir effectuer un calcul sur cet élément, si nécessaire.
Des idées ?