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 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
            Return firstNameValue
        End Get

        Set(ByVal value As String)

            ' Only update if the value has changed
            If (value <> firstNameValue) Then
                firstNameValue = value

                ' Call NotifyPropertyChanged when the property is updated 
            End If
        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

Windows Phone OS

Supported in: 8.1, 8.0, 7.1, 7.0

Windows Phone

© 2016 Microsoft