INotifyCollectionChanged Rozhraní

Definice

Upozorňuje naslouchací procesy na dynamické změny, jako je například přidání a odebrání položky nebo vymazání celého seznamu.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
Odvozené

Poznámky

Můžete vytvořit výčet pro libovolnou kolekci, která implementuje IEnumerable rozhraní.You can enumerate over any collection that implements the IEnumerable interface. Chcete-li však nastavit dynamické vazby tak, aby vložení nebo odstranění v kolekci automaticky aktualizovaly uživatelské rozhraní, kolekce musí implementovat INotifyCollectionChanged rozhraní.However, to set up dynamic bindings so that insertions or deletions in the collection update the UI automatically, the collection must implement the INotifyCollectionChanged interface. Toto rozhraní zpřístupňuje CollectionChanged událost, která musí být vyvolána při každé změně příslušné kolekce.This interface exposes the CollectionChanged event that must be raised whenever the underlying collection changes.

WPF poskytuje ObservableCollection<T> třídu, která je vestavěnou implementací kolekce dat, která zpřístupňuje INotifyCollectionChanged rozhraní.WPF provides the ObservableCollection<T> class, which is a built-in implementation of a data collection that exposes the INotifyCollectionChanged interface. Příklad naleznete v tématu How to: Create a BIND to the kolekci ObservableCollection.For an example, see How to: Create and Bind to an ObservableCollection.

Jednotlivé datové objekty v kolekci musí splňovat požadavky popsané v tématu Přehled zdrojů vazby.The individual data objects within the collection must satisfy the requirements described in the Binding Sources Overview.

Před implementací vlastní kolekce zvažte použití ObservableCollection<T> nebo jednu z existujících tříd kolekce, například List<T> , Collection<T> a BindingList<T> , mezi mnoho dalších.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.

Máte-li pokročilý scénář a chcete implementovat vlastní kolekci, zvažte použití IList , které poskytuje neobecnou kolekci objektů, které mohou být jednotlivě dostupné pomocí indexu a poskytuje nejlepší výkon.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.

Události

CollectionChanged

Vyvolá se při změně kolekce.Occurs when the collection changes.

Platí pro