アイテムが追加、削除、または更新されるたびにトリガーされる監視可能なコレクションにイベント ハンドラーを追加したいと考えています。
CollectionChanged イベントは、アイテムが追加または削除されたときに発生しますが、アイテムが次のように置き換えられたときには発生しません。
obsList[5] = MyUpdatedCustomObject;
助言がありますか?
アイテムが追加、削除、または更新されるたびにトリガーされる監視可能なコレクションにイベント ハンドラーを追加したいと考えています。
CollectionChanged イベントは、アイテムが追加または削除されたときに発生しますが、アイテムが次のように置き換えられたときには発生しません。
obsList[5] = MyUpdatedCustomObject;
助言がありますか?
私は、あなたはこれを行うことができないと思った、インデクサー:
public T this[int index] { get; set; }
クラスから継承されてCollection<T>
いるため、このインデクサーは仮想ではなく、その動作を変更できません!
しかし、実際には、私が非常に小さなアプリケーションでテストしたところ、あなたのケースでイベントが発生しました。何か問題があります。追加のコードを提供してください!
private ObsersvableCollection<Type> _MyCollection = new ObservableCollection<Type>();
_MyCollection.CollectionChanged += new NotifyCollectionChangedEventHandler(_MyCollection_CollectionChanged);
protected void _MyCollection_CollectionChanged(object sender, NotifyCollectionChangedEventArgs e)
{
switch(e.Action)
{
case NotifyCollectionChangedAction.Add:
//use e.NewItems to get items added.
break;
case NotifyCollectionChangedAction.Remove:
//use e.OldItems to get items removed.
break;
}
}