温馨提示×

C#中inotifypropertychanged怎么使用

c#
小亿
232
2024-02-18 09:28:15
栏目: 编程语言

在 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# 中实现属性更改通知。

0