WPF是否将NotifyPropertyChanges编组到调度程序?

WPF是否将NotifyPropertyChanges编组到调度程序?,wpf,inotifypropertychanged,dispatcher,Wpf,Inotifypropertychanged,Dispatcher,如果我更新了一个属性,该属性在绑定控件的调度程序以外的线程上抛出NotifyPropertyChanged,那么该更新是否强制编组到此调度程序 BackgrounWorker.Run() => { blah.Blahness = 2; // notifies property changed on BW, is this marshalled to the dispatcher? } 是的,PropertyChanged事件会自动编组到UI调度程序,因此不需要使用Invoke来显式编组它

如果我更新了一个属性,该属性在绑定控件的调度程序以外的线程上抛出NotifyPropertyChanged,那么该更新是否强制编组到此调度程序

BackgrounWorker.Run() => { blah.Blahness = 2; // notifies property changed on BW, is this marshalled to the dispatcher? }

是的,
PropertyChanged
事件会自动编组到UI调度程序,因此不需要使用
Invoke
来显式编组它


请注意,这仅适用于标量属性的更改通知(即
PropertyChanged
事件)。集合更改通知(
INotifyCollectionChanged.CollectionChanged
event)不能以这种方式工作,必须在UI线程上手动引发它们。我写了一个自动完成的类,你可以找到它。

谢谢你的回复。实际上,我更多的是从性能的角度来考虑。i、 e.根据您的回答,我认为如果您将大量属性更改手动编组到dispatcher,而不是隐式地为每个人编组,您将获得更好的性能。