WPF 調用線程沒法訪問此對象,由於另外一個線程擁有該對象。

錯誤提示:多線程

 

爲了在ListBox上顯示某條信息,而調用線程,(這是我直接把Winform那兒的粘貼過來的)spa

可見WPF不一樣於Winform,線程調用時,須要增長必要線程調用語句線程

 

出錯緣由:3d

多線程之間,主線程的控制等等是被保護的。畫面中的控件,如果由其餘線程來控制,則應該調用委託。code

 

解決方法:orm

將ListBox的Items增長語句在外邊套一層殼,來實現線程的調用。blog

 

代碼以下:io

Action action1 = () =>
            {
                 recvListBox.Items.Add(strMsg);
            };
recvListBox.Dispatcher.BeginInvoke(action1);
相關文章
相關標籤/搜索