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();
	}
}

Полезные материалы

Теги: wpf, c#, сниппет

Редактировать