Do INotifyPropertyChanged уведомляет об изменениях только от пользовательского интерфейса. Иными словами, мы можем также сказать, что изменения значения свойств из других источников, а затем пользовательского интерфейса, не сообщаются?Do INotifyPropertyChanged уведомляет только изменения с пользовательского интерфейса
ответ
Интерфейс INotifyPropertyChanged используется для уведомления клиентов, обычно связывающих клиентов, что значение свойства изменилось. Таким образом, он гарантирует уведомление между пользовательским интерфейсом и источником, если вы хотите, чтобы уведомление было двухсторонним, вам необходимо установить режим привязки на TwoWay
, так что INotifyPropertyChanged
Уведомлять об изменении из пользовательского интерфейса, только если вы установили режим привязки на OneWay
. source, если вы установите привязку TwoWay
, чтобы уведомление было от пользовательского интерфейса к источнику и от источника к пользовательскому интерфейсу.
INotifyPropertyChanged не имеет ничего общего с пользовательским интерфейсом, уведомляющим источник привязки изменений. Он используется только для того, чтобы источник уведомлял цель. Mode = TwoWay приводит к тому, что Binding обновляет свойство source, но не через INotifyPropertyChanged. –
@EdPlunkett Пожалуйста, обратитесь к этой ссылке: https://msdn.microsoft.com/en-us/library/system.componentmodel.inotifypropertychanged(v=vs.110).aspx –
Фактически я изменяю значение хешета из ICommand унаследовал класс. Я хочу спросить, будет ли это изменение уведомлено OnPropertyChanged в getter свойства. public HashSet
Нет, INotifyPropertyChanged не имеет ничего общего с уведомлениями из пользовательского интерфейса. Привязки заботятся об этом в ответ на уведомления об изменении свойств зависимостей, которые не используют INotifyPropertyChanged. –