Войти



Поиск

Полезное:

Новые статьи

Опечатка?

Выделите текст и нажмите Shift+Enter.
И мы в ближайшее время ее исправим!

Счетчики


Поддержка уведомлений о редактировании объекта при помощи Not if у Property Changed

Добавление отдельного события для каждого свойства объекта может существенно загромоздить ваш объект. В .NET 1.0 и .NET 1.1 это было единственным способом обеспечить обновление привязанных элементов управления при изменении свойств нижележащего объекта. Однако в .NET 2.0 интерфейс iNotifyPropertyChanged предлагает более элегантный подход. Интерфейс имеет единственный элемент, событие Property-Changed. Если вы реализуете этот интерфейс в своих специальных рабочих объектах и будете запускать событие всякий раз при изменении любого свойства, эффект по существу будет тот же, что и при реализации отдельного события для каждого свойства. Классы BindingSource и Binding будут при установке привязки данных для объектных типов проверять, реализует ли данный объектный тип этот интерфейс, и если это так, они будут обновлять любые привязанные элементы управления при изменении его свойства. Кроме того, если объект заключен в коллекцию BindingList, коллекция будет возбуждать событие Listchanged, если любой из содержащихся в ней объектов возбуждает событие PropertyChanged.

Реализация этого интерфейса для нашего объекта Customer из предыдущих примеров изменяет его код следующим образом.

Когда это сделано, всякий раз, когда кто-то будет программно устанавливать свойство специального объекта, будет запускаться событие Ргорег-tyChanged. Контейнеры могут подписываться на событие PropertyChanged этих объектов, чтобы получать уведомления, которые позволят им обновлять свое отображение либо передавать события ListChanged наверх при изменении свойств объекта.




Newer news items:
Older news items:

 
Главная Страница Контактная Информация Поиск по сайту Контактная Информация Поиск по сайту