WPF MVVM从BackgroundWorker更新UI绑定属性

Bhu*_*van 6 c# wpf mvvm

从Backgroundworker更新ViewModel的UI绑定属性是否存在任何潜在问题?我正在尝试在绑定到UI时更新VM,并且可能用户可能正在键入...同步如何工作(我不认为我可以使用来自XAML的Lock语句).

提前致谢..

Tho*_*que 4

更新标量属性时,您无需担心在 UI 线程上执行此操作。该PropertyChanged事件会自动编组到 UI 线程。

但是,它不适用于实现INotifyCollectionChanged. 该CollectionChanged事件不会被编组到 UI 线程,并且会引发异常。因此,如果您修改绑定到 的集合ItemsControl,则需要使用Dispatcher.Invoke(或其他同步机制)在 UI 线程上执行此操作。另一种选择是使用专门的集合来负责将事件编组到正确的线程。有关此类集合的示例,请参阅本文。