1

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

  • 我的班级暗示 INotifyPropertyChanged=>
  • 每个属性的 setter 调用
    NotifyPropertyChanged 方法=>
  • PropertyChangedEventHandler
    调用=>???

我想知道是什么代码使我的控件重新呈现。谢谢。

4

1 回答 1

1

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

当然,处理程序不必与控件重新渲染有关——它们可以做任何事情。这只是一种说法,“嘿,财产 X 已经改变了它的价值……如果你关心这个,就做点什么。” 您可以非常轻松地添加自己的处理程序,就像任何其他事件处理程序一样。

于 2010-09-28T08:57:29.160 回答