WPf中多線程改UI

今天寫代碼的時候遇到了個小問題,在線程裏改UI代碼,然後程序就gg了, 其實這個問題再android中也有。
廢話就不多說了 ,直接看代碼吧

    Thread aa = new Thread(startDelegate);
    aa.Start(); 
     private void startDelegate()
        {
            while(true)
            {
              this.Dispatcher.Invoke(new Action(checkstate));//這裏的checkstate是函數名
                if (eq == true)
                    break; 
            }
        }

首先是創建一個線程, 然後通過this.Dispatcher.Invoke(new Action(checkstate)); 調用一個函數去執行UI線程的操作。當然, 你可以看到,我這裏有用委託的跡象, 確實,我用委託去試着改UI,但是沒有成功(應該是可以的,只是我的代碼寫壞了)。

其次還有一種新的方法是使用async/await來處理。
這裏我也是參考別人的, 詳情請看大牛的博客

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章