Описание тега inotifypropertychanged
INotifyPropertyChanged
определяет единственное свойство события, PropertyChanged
. Ожидается, что классы, реализующие этот интерфейс, будут запускатьPropertyChanged
событие при изменении значения свойства. Обычно это делается путем добавления кода к установщику свойства каждого свойства, чтобы запускать событие всякий раз, когда свойство присваивается.
Чтобы предоставить уведомление об изменении свойства, ваш класс должен быть производным от INotifyPropertyChanged
и предоставить защищенный метод для вызова события. Типичная реализация этого метода показана ниже:
protected void NotifyPropertyChanged(string propertyName)
{
PropertyChangedEventHandler handler = this.PropertyChanged;
if (handler != null)
{
handler(this, new PropertyChangedEventArgs(propertyName));
}
}
Затем этот метод можно вызвать в установщике свойств, чтобы уведомить клиентов об изменении свойства.
public string Description
{
get { return _description; }
set
{
_description = value;
OnPropertyChanged("Description");
}
}
Установщики свойств обычно запускают измененное событие, только если новое значение действительно отличается от текущего значения свойства.
Обратите внимание, что PropertyChanged
Событие возникает после изменения значения свойства, и событие не предоставляет информацию о том, каким было старое значение до изменения. ВINotifyPropertyChanging
интерфейс может использоваться для сигнализации об изменении свойства до того, как это изменение произойдет.
В INotifyPropertyChanged
interface чаще всего используется для облегчения привязки данных между вашим кодом и элементами управления пользовательского интерфейса в таких технологиях пользовательского интерфейса, как Winforms и WPF.
Дополнительные сведения см. В документации MSDN для интерфейса INotifyPropertyChanged.