[英]Why does raising the PropertyChanged event cause other controls to update
[英]What exactly WPF runtime does after raising the PropertyChanged event of INotifyPropertyChanged interface
面试中有人问我这个问题
“当某些视图更新后端的绑定属性时,如果我们想在视图上反映属性的更改值,则通常会引发通过实现INofityPropertyChanged接口给出的事件。”
“所以,问题是我们没有将任何事件处理程序绑定到propertychanged事件,而是由wpf运行时执行的。因此,从ViewModel引发propertychanged事件之后,究竟发生了什么。
在WPF中,Dispatcher循环处理大多数(也许是全部)UI工作项,例如队列。 不同的工作项具有不同的优先级,因此分派器可以及时处理某些优先级很高的项。
引发属性更改事件将转移到数据绑定任务,并将以DataBinding优先级放入Dispatcher的队列中。 分派器将管理项目在队列中的位置并执行它,以在适当的时候更新此处的数据绑定。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.