Получение уведомления об изменении данных, связанных с элементом управления, в Windows Forms
Одним из наиболее важных понятий привязки данных Windows Forms является уведомления об изменениях. Чтобы обеспечить источник данных и связанные элементы управления всегда самые последние данные, необходимо добавить уведомление об изменении для привязки данных. В частности необходимо убедиться, что элементы управления с привязкой уведомляются об изменения, внесенные в источнике данных и источнике уведомляется об изменениях, внесенных в свойства привязанного элемента управления.
Существуют различные виды уведомлений об изменении зависимости от вида привязки данных:
Простая привязка, в котором свойство одного элемента управления привязан к одному экземпляру объекта.
Привязки на основе списка, который может включать одно свойство элемента управления привязано к свойству элемента в списке или свойство элемента управления привязаны к списку объектов.
Кроме того, при создании элементов управления Windows Forms, которые вы хотите использовать для привязки данных, необходимо применить PropertyNameизменить шаблон к элементам управления, таким образом, для распространения изменений в свойство привязанного элемента управления источник данных.
Уведомление об изменении для простой привязки
Для простой привязки бизнес-объектов необходимо предоставить уведомление об изменении при изменении значения связанного свойства. Это можно сделать, предоставляя PropertyNameсобытие Changed для каждого свойства бизнес-объекта и привязки к элементам управления с бизнес-объект BindingSource или предпочтительный метод, который реализует бизнес-объекта INotifyPropertyChanged интерфейс и вызывает PropertyChanged событие при изменении значения свойства. Дополнительные сведения см. в разделе Как Реализация интерфейса INotifyPropertyChanged. При использовании объектов, реализующих INotifyPropertyChanged интерфейс, не нужно использовать BindingSource для привязки объекта к элементу управления, однако применение BindingSource рекомендуется.
Уведомление об изменении для привязки на основе списка
Windows Forms зависит от привязанного списка для предоставления изменение свойства (меняет значение свойства элемента списка) или списка (элемент удален или добавлен в список) сведения в привязанные элементы управления. Таким образом, списки, используемые для привязки данных должны реализовывать интерфейс IBindingList, который поддерживает оба типа уведомлений об изменении. BindingList<T> Является универсальную реализацию IBindingList и предназначен для использования с помощью привязки данных Windows Forms. Можно создать BindingList<T> , содержащий тип бизнес-объекта, который реализует INotifyPropertyChanged и список будет автоматически преобразована PropertyChanged событий ListChanged события. Если связанный список не является IBindingList, необходимо привязать список объектов к элементам управления Windows Forms с помощью BindingSource компонента. BindingSource Компонент предоставляет список свойств преобразования аналогичны BindingList<T>. Дополнительные сведения см. в разделе Как Получение уведомления об изменении с помощью компонента BindingSource и интерфейса INotifyPropertyChanged.
Уведомление об изменении для пользовательских элементов управления
Наконец, на стороне элементов управления можно предоставить PropertyNameсобытие Changed для каждого свойства, предназначенный для привязки к данным. Изменения свойств элемента управления, затем распространяются привязанного источника данных. Дополнительные сведения см. в разделе Как Применение шаблона PropertyNameChanged