INotifyPropertyChanged Interface

Notifies clients that a property value has changed.

Namespace:  System.ComponentModel
Assembly:  System (in System.dll)

public interface INotifyPropertyChanged

The INotifyPropertyChanged type exposes the following members.

Public eventSupported by Silverlight for Windows PhoneSupported by Xbox 360PropertyChangedOccurs when a property value changes.

The INotifyPropertyChanged interface is used to notify clients, typically binding clients, that a property value has changed.

For example, consider a Person object with a property called FirstName. To provide generic property-change notification, the Person type implements the INotifyPropertyChanged interface and raises a PropertyChanged event when FirstName is changed.

The following code example demonstrates the how to implement the INotifyPropertyChanged interface.

//Add using statements
using System.ComponentModel;
using System.Windows.Data;


// Create a class that implements INotifyPropertyChanged
public class Person : INotifyPropertyChanged
    private string firstNameValue;
    public string FirstName{
        get { return firstNameValue; }
            // Call NotifyPropertyChanged when the property is updated

    // Declare the PropertyChanged event
    public event PropertyChangedEventHandler PropertyChanged;

    // NotifyPropertyChanged will raise the PropertyChanged event passing the
    // source property that is being updated.
    public void NotifyPropertyChanged(string propertyName)
        if (PropertyChanged != null)
            PropertyChanged(this, new PropertyChangedEventArgs(propertyName));


Supported in: 5, 4, 3

Silverlight for Windows Phone

Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0

XNA Framework

Supported in: Xbox 360, Windows Phone OS 7.0

For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.

Community Additions