WPF中在对界面进行操作的时候,可能会遇到“调用线程无法访问此对象,因为另一个线程拥有该对象”异常,这是因为WPF中只有UI线程才能操作UI元素,非UI线程要访问UI时就会报异常了。
解决方法:
Dispatcher.BeginInvoke()与Invoke()方法。BeginInvoke()异步执行,不等待委托结束就更新,Invoke()同步执行,需等待委托执行完。
Dispatcher.BeginInvoke(new Action(delegate
{
//执行你的方法
}));
本文介绍了解决WPF应用程序中非UI线程访问UI元素导致的异常问题。通过使用Dispatcher.BeginInvoke()方法实现异步操作,确保非UI线程能够安全地更新UI。
WPF中在对界面进行操作的时候,可能会遇到“调用线程无法访问此对象,因为另一个线程拥有该对象”异常,这是因为WPF中只有UI线程才能操作UI元素,非UI线程要访问UI时就会报异常了。
解决方法:
Dispatcher.BeginInvoke()与Invoke()方法。BeginInvoke()异步执行,不等待委托结束就更新,Invoke()同步执行,需等待委托执行完。
Dispatcher.BeginInvoke(new Action(delegate
{
//执行你的方法
}));

被折叠的 条评论
为什么被折叠?