在 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# 中實現屬性更改通知。