INotifyPropertyChanged Interface
Microsoft Silverlight will reach end of support after October 2021. Learn more.
Notifies clients that a property value has changed.
Namespace: System.ComponentModel
Assembly: System (in System.dll)
Syntax
'Declaration
Public Interface INotifyPropertyChanged
public interface INotifyPropertyChanged
The INotifyPropertyChanged type exposes the following members.
Remarks
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.
Examples
The following code example demonstrates the how to implement the INotifyPropertyChanged interface.
'Add Imports statements
Imports System.ComponentModel
Imports System.Windows.Data
...
' Create a class that implements INotifyPropertyChanged
Public Class Person
Implements INotifyPropertyChanged
Private firstNameValue As String
Public Property FirstName() As String
Get
Return firstNameValue
End Get
Set(ByVal value As String)
firstNameValue = value
' Call NotifyPropertyChanged when the property is updated
NotifyPropertyChanged("FirstName")
End Set
End Property
' Declare the PropertyChanged event
Public Event PropertyChanged As PropertyChangedEventHandler Implements INotifyPropertyChanged.PropertyChanged
' NotifyPropertyChanged will raise the PropertyChanged event passing the
' source property that is being updated.
Public Sub NotifyPropertyChanged(ByVal propertyName As String)
RaiseEvent PropertyChanged(Me, New PropertyChangedEventArgs(propertyName))
End Sub
End Class
//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; }
set
{
firstNameValue=value;
// Call NotifyPropertyChanged when the property is updated
NotifyPropertyChanged("FirstName");
}
}
// 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));
}
}
}
Version Information
Silverlight
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
Platforms
For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.