WPF Dispatcher.BeginInvoke子线程更新UI
程序员文章站
2022-03-25 17:57:39
在开发WPF应用时出现:”调用线程无法访问此对象,因为另一个线程拥有该对象。“ 是因为UI线程是WPF应用的主线程,若尝试子线程更新UI线程应使用Dispatcher.BeginInvoke()或者Invoke()方法。 Dispatcher.BeginInvoke() //异步执行,不等待委托结束 ......
在开发wpf应用时出现:”调用线程无法访问此对象,因为另一个线程拥有该对象。“
是因为ui线程是wpf应用的主线程,若尝试子线程更新ui线程应使用dispatcher.begininvoke()或者invoke()方法。
dispatcher.begininvoke() //异步执行,不等待委托结束就更新
dispatcher.invoke() //代表同步执行
action() //委托
this.dispatcher.begininvoke(new action(()=> { //你的更新操作 }));
下一篇: C++实现 图Graph --- 邻接表