繁体   English   中英

引发INotifyPropertyChanged接口的PropertyChanged事件后,WPF运行时到底做什么

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM