INotifyCollectionChanged INotifyCollectionChanged INotifyCollectionChanged INotifyCollectionChanged Interface


項目が追加、削除された場合やリスト全体がクリアされた場合など、動的な変更をリスナーに通知します。Notifies listeners of dynamic changes, such as when an item is added and removed or the whole list is cleared.

public interface class INotifyCollectionChanged
public interface INotifyCollectionChanged
type INotifyCollectionChanged = interface
Public Interface INotifyCollectionChanged


実装するコレクションを列挙することができます、IEnumerableインターフェイス。You can enumerate over any collection that implements the IEnumerable interface. ただし、コレクションの挿入や削除が更新されるように、動的バインドを設定する、UIUIコレクションが自動的に実装する必要があります、INotifyCollectionChangedインターフェイス。However, to set up dynamic bindings so that insertions or deletions in the collection update the UIUI automatically, the collection must implement the INotifyCollectionChanged interface. このインターフェイスを公開、CollectionChangedイベントを基になるコレクションが変更されるたびに発生する必要があります。This interface exposes the CollectionChanged event that must be raised whenever the underlying collection changes.

WPFWPF 提供、ObservableCollection<T>クラスは、公開するデータ コレクションの組み込みの実装には、INotifyCollectionChangedインターフェイス。provides the ObservableCollection<T> class, which is a built-in implementation of a data collection that exposes the INotifyCollectionChanged interface. 例については、次を参照してください。方法: ObservableCollection を作成してバインドします。For an example, see How to: Create and Bind to an ObservableCollection.

コレクション内の個々 のデータ オブジェクトが記載された要件を満たす必要があります、バインディング ソースの概要します。The individual data objects within the collection must satisfy the requirements described in the Binding Sources Overview.

独自のコレクションを実装する前に、使用を検討してObservableCollection<T>またはなどの既存のコレクションの 1 つのクラスList<T>Collection<T>、およびBindingList<T>、多数あります。Before implementing your own collection, consider using ObservableCollection<T> or one of the existing collection classes, such as List<T>, Collection<T>, and BindingList<T>, among many others.

高度なシナリオがあるし、独自のコレクションを実装する場合は、使用を検討してIList、インデックスによって個別にアクセスできるし、最適なパフォーマンスを提供するオブジェクトの非ジェネリック コレクションを提供します。If you have an advanced scenario and want to implement your own collection, consider using IList, which provides a non-generic collection of objects that can be individually accessed by index and provides the best performance.


CollectionChanged CollectionChanged CollectionChanged CollectionChanged

コレクションが変更されたときに発生します。Occurs when the collection changes.