WPF 调用线程无法访问此对象,因为另一个线程拥有该对象。

错误提示:

为了在ListBox上显示某条信息,而调用线程,(这是我直接把Winform那儿的粘贴过来的)

可见WPF不同于Winform,线程调用时,需要增加必要线程调用语句

出错原因:

多线程之间,主线程的控制等等是被保护的。画面中的控件,若是由其他线程来控制,则应该调用委托。

解决方法:

创建一个临时的方法,也就是说,在ListBox的Items增加语句的外边套一层壳,来实现线程的调用。

代码如下:

Action action1 = () =>
            {
                 recvListBox.Items.Add(strMsg);
            };
recvListBox.Dispatcher.BeginInvoke(action1);
(0)

相关推荐