在 C# 中,INotifyPropertyChanged 是一个接口,用于通知绑定源对象的属性已更改。通常情况下,您需要实现该接口并在属性更改时触发 PropertyChanged 事件。以下是一个简单的示例:
using System;
using System.ComponentModel;
class Person : INotifyPropertyChanged
{
private string name;
public string Name
{
get { return name; }
set
{
if (name != value)
{
name = value;
OnPropertyChanged("Name");
}
}
}
public event PropertyChangedEventHandler PropertyChanged;
protected virtual void OnPropertyChanged(string propertyName)
{
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
}
}
class Program
{
static void Main()
{
Person person = new Person();
person.PropertyChanged += (sender, e) =>
{
Console.WriteLine($"{e.PropertyName} has changed");
};
person.Name = "Alice";
}
}
在上面的示例中,Person 类实现了 INotifyPropertyChanged 接口,并在 Name 属性的 setter 中调用了 OnPropertyChanged 方法来触发 PropertyChanged 事件。在 Main 方法中,我们订阅了 PropertyChanged 事件,并在属性更改时输出相应的信息。
希望这可以帮助您开始使用 INotifyPropertyChanged 接口在 C# 中实现属性更改通知。