Silverlight / WPF DependencyProperty启用数据绑定,并指示属性何时更改值,而不实现INotifyPropertyChanged。我的问题是如何在低级别工作 - 当DependencyObject,DependencyProperty和DispatcherObject都没有定义任何事件时,DependencyProperty或DependencyObject如何执行此更改通知。这会与DispatcherObject.Dispatcher属性有关吗?
依赖项属性或DependencyObject类本身不存在 支持INotifyPropertyChanged以生成通知 对数据绑定的DependencyObject源属性值的更改 操作
这一出色的澄清是从单词中逐字逐句:
答案 0 :(得分:4)
依赖属性在内部与绑定系统紧密集成。因此,设置依赖项属性的代码可以直接调用绑定系统并告诉它更新,而不是“通知属性已更改”。
类似地,可以在任何后代元素上更新诸如继承/附加属性之类的内容和/或可以更新布局/度量/排列。它甚至可以告诉任何触发器(在Styles或ControlTemplates中)重新评估。
Dispatcher并不是真正相关的,但可以在此过程中使用。
简而言之,它已经融入了WPF / Silverlight。
答案 1 :(得分:1)
好吧,当您注册DependencyProperty时,您提供了一个在值发生变化时调用的回调。
Here您有更多详情。关于WPF的内部,我认为没有任何其他内容可以公开。我可能错了。