我意外地更改了实现 INotifyPropertyChanged 从一个 BackgroundWorker ( BackgroundWorker.DoWork ).
INotifyPropertyChanged
BackgroundWorker
BackgroundWorker.DoWork
令人惊讶的是,这并没有导致错误,而是实现了绑定到属性的TextBlock的文本,而没有任何抱怨。
异步绑定的执行是WPF绑定引擎的一部分吗?或者这只是一种特殊情况,在这种情况下,CheckAccess测试由于其他原因而被遗忘或重新提交。
标量属性上的绑定支持来自其他线程的更新,因此不需要调用 Dispatcher.Invoke ItemsControl ObservableCollection<T> ,对此集合的更改 必须 在UI线程上完成,如 CollectionChanged 事件不会自动转发到UI线程。或者,您可以使用 可观察收集<T> 在UI线程上引发事件( here's a implementation
Dispatcher.Invoke
ItemsControl
ObservableCollection<T>
CollectionChanged
可观察收集<T>