WPF 调用线程无法访问此对象,因为另一个线程拥有该对象。
错误提示:
为了在ListBox上显示某条信息,而调用线程,(这是我直接把Winform那儿的粘贴过来的)
可见WPF不同于Winform,线程调用时,需要增加必要线程调用语句
出错原因:
多线程之间,主线程的控制等等是被保护的。画面中的控件,若是由其他线程来控制,则应该调用委托。
解决方法:
创建一个临时的方法,也就是说,在ListBox的Items增加语句的外边套一层壳,来实现线程的调用。
代码如下:
Action action1 = () => { recvListBox.Items.Add(strMsg); }; recvListBox.Dispatcher.BeginInvoke(action1);
赞 (0)