ObservableCollectionINotifyCollectionChangedと の両方を実装しINotifyPropertyChangedます。
アイテムの追加、削除 (+ クリア)、および置換は、コレクションのイベント を通じて消費者に通知可能であり、既存のアイテムの更新は、アイテムがそれ自体を実装する場合、アイテムのイベント
CollectionChangedを使用して監視できることを理解しています。PropertyChangedINotifyPropertyChanged読み取り専用であるため、コレクションのイベントに登録できないことを他の人から読みました
PropertyChanged。
では、その目的は何なのか、私たちはそれをどのように利用できるのでしょうか?
あちこちのコメントは、コレクションとアイテムの両方のコンテンツの変更を通知できるように、両方のインターフェイスを実装することが魔法のようであることを暗示して、議論を混乱させているようですがObservableCollection、これは正しくありません (これは、コレクションがアイテムのコンテンツが変更された後に魔法のように更新されるリストボックスにバインドされており、コレクションがリストボックスに通知することを示唆しています)。
実際、コレクションの唯一の利点は実装することINotifyCollectionChangedです。アイテム プロパティの変更を処理するObservableCollectionのは、別のコレクションよりも簡単ではないようです。アイテムが を実装している場合にのみ可能ですが、実装INotifyPropertyChangedしていない可能性があり、ユーザーがコレクションとは無関係にこのイベントをフックできた場合にのみ可能です。
これは正しいです?