WPF 调用线程无法访问此对象,因为另一个线程拥有该对象

WPF跟WinForm在这一点上是相同的:简单点来讲就是——刷新界面的活只能在UI线程里跑。你的问题是:你试图在另一个线成里刷新UI,这时候错误就会抛出,因为非UI线程是不能亲自刷新UI的,它们需要告诉UI线程:“我们需要你帮助把UI刷新一下”。

如果你是在.xaml.cs文件中,你可以直接调用Dispatcher.Invoke((Action)delegate { /* Your
code is put here */ });

如果你在ViewModel里,你可以Application.Current.Dispatcher.Invoke((Action)delegate { /* Your code is put here */ });
原文地址:https://www.cnblogs.com/yinchengliang/p/2540025.html