INotifyCollectionChanged Интерфейс

Определение

Информирует прослушиватели о динамических изменениях, например о добавлении или удалении элемента либо об очистке всего списка.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. Однако, чтобы настроить динамические привязки таким образом, чтобы вставки или удаления в коллекции автоматически обновляют ИПUI, коллекция должна реализовать интерфейс INotifyCollectionChanged.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. Этот интерфейс предоставляет 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> или одного из существующих классов коллекций, таких как 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

Происходит при изменении коллекции.Occurs when the collection changes.

Применяется к

Дополнительно