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