gpt4 book ai didi

wpf - 如何分配 INotifyPropertyChanged 的​​ PropertyChanged 事件?

转载 作者:行者123 更新时间:2023-12-04 14:50:24 27 4
gpt4 key购买 nike

我有以下代码,它工作正常。

public partial class MainWindow : Window
{
Person person;

public MainWindow()
{
InitializeComponent();

person = new Person { Name = "ABC" };

this.DataContext = person;
}

private void Button_Click(object sender, RoutedEventArgs e)
{
person.Name = "XYZ";
}
}

class Person: INotifyPropertyChanged
{
string name;

public string Name
{
get
{
return name;
}
set
{
name = value;
OnPropertyChanged("Name");
}
}

public event PropertyChangedEventHandler PropertyChanged;

protected virtual void OnPropertyChanged(string strPropertyName)
{
if(null != PropertyChanged)
{
PropertyChanged(this,
new PropertyChangedEventArgs(strPropertyName));
}
}
}

当我在 MainWindow 的构造函数中创建“person”对象时,它会为 person 的“Name”属性赋值,此时 PropertyChanged 事件为 .

如果在 Button_Click 事件中分配了相同的“person”类属性“Name”,则“PropertyChanged”事件为 非空 它指向 OnPropertyChanged。

我的问题是如何将“PropertyChanged”事件分配给 OnPropertyChanged 方法?

提前致谢。

最佳答案

WPF 数据绑定(bind)基础结构将添加 PropertyChanged将对象设置为 DataContext 时的处理程序,以检测您的属性的更改。
您可以通过 setting a breakpoint 观看这一切。 .
OnPropertyChanged它指向的方法是一个内部 WPF 方法,您可以通过检查 Target 看到委托(delegate)人的属性(property)。

关于wpf - 如何分配 INotifyPropertyChanged 的​​ PropertyChanged 事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7439428/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com