WPF NotifyPropertyChangeds是否已调度到调度员?

bri*_*wey 2 wpf dispatcher inotifypropertychanged

如果我更新一个属性,该属性在绑定控件的调度程序以外的线程上抛出NotifyPropertyChanged,则强制为该调度程序编组的更新?

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

Tho*_*que 7

是的,该PropertyChanged事件会自动编组到UI调度程序,因此您无需使用Invoke它来明确地对其进行编组.

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