INotifyPropertyChanged Interface
Collapse the table of content
Expand the table of content

INotifyPropertyChanged Interface

[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]

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 eventPropertyChangedOccurs 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 Microsoft.Phone.Controls;


// Create a class that implements INotifyPropertyChanged
public class Person : INotifyPropertyChanged
    private string firstNameValue;

    public string FirstName{
        get { return firstNameValue; }

            // Only update value if it changed
            if (value != firstNameValue)
                firstNameValue = value;

                // 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));

Windows Phone OS

Supported in: 8.1, 8.0, 7.1, 7.0

Windows Phone

© 2017 Microsoft