Поделиться через


INotifyCollectionChanged Интерфейс

Определение

Информирует прослушиватели о динамических изменениях, например о добавлении или удалении элемента либо об очистке всего списка.

public interface class INotifyCollectionChanged
public interface INotifyCollectionChanged
type INotifyCollectionChanged = interface
Public Interface INotifyCollectionChanged
Производный

Комментарии

Можно перечислить любую коллекцию, которая реализует интерфейс IEnumerable. Однако чтобы настроить динамические привязки таким образом, чтобы вставки и удаления элементов в коллекции автоматически обновляли пользовательский интерфейс, в коллекции должен быть реализован интерфейс INotifyCollectionChanged. Этот интерфейс предоставляет CollectionChanged событие, которое должно вызываться при каждом изменении базовой коллекции.

WPF предоставляет класс ObservableCollection<T>, который является встроенной реализацией коллекции данных, предоставляющей интерфейс INotifyCollectionChanged. Пример см. в разделе Практическое руководство. Создание и привязка к ObservableCollection.

Отдельные объекты данных в коллекции должны соответствовать требованиям, описанным в обзоре источников привязки.

Перед реализацией собственной коллекции рассмотрите возможность использования ObservableCollection<T> или одного из существующих классов коллекций, таких как List<T>, Collection<T> и BindingList<T>, среди многих других.

Если у вас есть расширенный сценарий и вы хотите реализовать собственную коллекцию, рассмотрите возможность использования IList, которая предоставляет неуниверсивную коллекцию объектов, доступ к которым может осуществляться по отдельности по индексу и обеспечивает наилучшую производительность.

События

CollectionChanged

Происходит при изменении коллекции.

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

См. также раздел