Inotifypropertychanged PropertyChanged EventHandler的实现在哪里?

Inotifypropertychanged PropertyChanged EventHandler的实现在哪里?,inotifypropertychanged,propertychanged,Inotifypropertychanged,Propertychanged,我有点困惑。我不明白在实现INotifyPropertyChanged接口时实际执行的代码是什么。 正如我想象的,链条是这样的: 我的课实施了 INotifyPropertyChanged=> 每个属性的setter调用 NotifyPropertyChanged方法=> PropertyChangedEventHandler 调用=> 我想知道是什么代码让我的控件重新启动。 谢谢。控件绑定时将订阅事件。当引发事件时,控件将检查已更改的属性是否是它关心的属性之一。如果是,它将获取属性的新值,

我有点困惑。我不明白在实现INotifyPropertyChanged接口时实际执行的代码是什么。 正如我想象的,链条是这样的:

  • 我的课实施了 INotifyPropertyChanged=>
  • 每个属性的setter调用
    NotifyPropertyChanged方法=>
  • PropertyChangedEventHandler
    调用=>
我想知道是什么代码让我的控件重新启动。
谢谢。

控件绑定时将订阅事件。当引发事件时,控件将检查已更改的属性是否是它关心的属性之一。如果是,它将获取属性的新值,并重新引发自身


当然,处理程序不必处理控件的重新排序-它们可以做任何事情。这只是一种说法,“嘿,属性X已经更改了它的值……如果您关心这个问题,请做些什么。”您可以很容易地添加自己的处理程序,就像任何其他事件处理程序一样。

控件将在绑定时订阅事件。当引发事件时,控件将检查已更改的属性是否是它关心的属性之一。如果是,它将获取属性的新值,并重新引发自身


当然,处理程序不必处理控件的重新排序-它们可以做任何事情。这只是一种说法,“嘿,属性X已经更改了它的值……如果您关心这个问题,请做些什么。”您可以像任何其他事件处理程序一样,非常轻松地添加自己的处理程序。

“控件将在绑定时订阅事件”-例如label1.DataBindings.add(新绑定(“Text”,someObject,“Name”)@弗拉基米尔:大概是这样,是的。我不知道它发生的确切位置,但这是一般的想法。“控件将在绑定时订阅事件”-例如label1.DataBindings.Add(newbinding(“Text”,someObject,“Name”)@弗拉基米尔:大概是这样,是的。我不知道具体发生在哪里,但这是总体思路。