Wpf 调用线程无法访问此对象,因为另一个线程拥有该对象,解决方案
生活随笔
收集整理的這篇文章主要介紹了
Wpf 调用线程无法访问此对象,因为另一个线程拥有该对象,解决方案
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1.Wpf 多線程修改UI示例:
//啟動線程修改UI,拋出異常 ThreadPool.QueueUserWorkItem((q) => {button.Content = "張三"; }, null);解決方案:使用Dispatcher.BeginInvoke+委托方式,修改UI
將修改UI的代碼封裝在委托中
//啟動線程處理 Thread thread1 = new Thread(UpdateBtn); thread1.IsBackground = true;//設置為后臺線程,當主線程結束后,后臺線程自動退出,否則不會退出程序不能結束 thread1.Start(); //線程方法,修改Button內容 private void UpdateBtn() {int i = 0;while (true){i++;Action action1 = () =>{button.Content = i;};button.Dispatcher.BeginInvoke(action1);// 如果不設置等待,整個程序死循環Thread.Sleep(500);} }?
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的Wpf 调用线程无法访问此对象,因为另一个线程拥有该对象,解决方案的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SQLServer还原 指定的转换无效解
- 下一篇: ajax实现下拉列表联动