Реализация INotifyPropertyChanged для WPF приложений
INotifyPropertyChanged - используется для уведомления представления об изменениях свойств объекта.
using System.ComponentModel;
using System.Runtime.CompilerServices;
namespace ExampleINotifyPropertyChanged
{
class PropertyChangedBase : INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;
protected virtual void NotifyPropertyChanged([CallerMemberName]string propertyName = null)
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
}
}
}
Реализация классом интерфейса предполагает генерацию события PropertyChanged каждый раз, когда значение свойства объекта изменяется. Такое поведение позволяет привязкам данных отслеживать состояние объекта и обновлять данные пользовательского интерфейса при изменении значения связанного свойства.
Пример реализации свойства модели представления:
private string _amount;
public string Amount
{
get { return _amount; }
set
{
_amount = value;
NotifyPropertyChanged();
}
}