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 |
Происходит при изменении коллекции. |