質問

理由があります のインスタンスをラップする ObservableCollection<T> 別のタイプで。

私は実装しています ICollection<T> 私の新しいタイプで。それは簡単です。私も実装しています INotifyCollectionChanged, 、実装を意味します

public event NotifyCollectionChangedEventHandler CollectionChanged;

これを実装するために考えることができる最善のパスは、の実装に追加のコードを配置することです ICollection<T>, 、 このような:

public void Add(T item)
{
    Collection.Add(item);
    if (CollectionChanged != null) CollectionChanged(this, new NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction.Add, item));
}

(コレクションはのインスタンスです ObservableCollection<T> 私が包んでいること)。

の実装を活用する方法はありますか INotifyCollectionChanged そのコレクションは、自分でそれを再実装するのではなく、提供しますか?

役に立ちましたか?

解決

はい。あなたの値を割り当てるとき Collection プロパティまたはフィールド、ハンドル これは CollectionChangedイベント:

Collection = new ObservableCollection<T>();
Collection.CollectionChanged += this.HandleCollectionChanged;

次に、HandleCollectionChangedメソッドでは、オブジェクト独自のCollectionChangedイベントを上げます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top