INotifyPropertyChanged.PropertyChanged INotifyPropertyChanged.PropertyChanged INotifyPropertyChanged.PropertyChanged INotifyPropertyChanged.PropertyChanged Event

Definition

Occurs when a property value changes.

public : event PropertyChangedEventHandler PropertyChanged
// Register
event_token PropertyChanged(PropertyChangedEventHandler const& handler) const;

// Revoke with event_token
void PropertyChanged(event_token const& cookie) const;

// Revoke with event_revoker
PropertyChanged_revoker PropertyChanged(auto_revoke_t, PropertyChangedEventHandler const& handler) const;
public event PropertyChangedEventHandler PropertyChanged
Public Event PropertyChanged As PropertyChangedEventHandler

Examples

This example demonstrates how to implement the INotifyPropertyChanged interface and fire the PropertyChanged event whenever property values change. For the complete code listing, see the XAML data binding sample.

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace DataBinding
{
    public class Employee : INotifyPropertyChanged 
    {
        private string _name;
        private string _organization;

        public string Name
        {
            get { return _name; }
            set
            {
                _name = value;
                RaisePropertyChanged("Name");
            }
        }

        public string Organization
        {
            get { return _organization; }
            set
            {
                _organization = value;
                RaisePropertyChanged("Organization");
            }
        }


        public event PropertyChangedEventHandler PropertyChanged;
        protected void RaisePropertyChanged(string name)
        {
            if (PropertyChanged != null)
            {
                PropertyChanged(this, new PropertyChangedEventArgs(name));
            }
        }
    }
}

Remarks

When building UWP app with the Microsoft .NET Framework, this interface is hidden and developers should use the System.ComponentModel.INotifyPropertyChanged interface.

The PropertyChanged event can indicate that all properties on the object have changed by using String.Empty for the PropertyName property of the PropertyChangedEventArgs. Note that you cannot use null for this like you can in Windows Presentation Foundation (WPF) and Microsoft Silverlight.

See also