WPF线程怎么搞
2个回答
2016-07-23
展开全部
在WinForm中,我们要跨线程访问窗口控件,只需要设置属性CheckForIllegalCrossThreadCalls=false;即可。在WPF中要麻烦一下,同样的不允许跨线程访问,因为没有权限,访问了会抛异常;没有CheckForIllegalCrossThreadCalls属性,可以在WPF中的窗口控件都有一个Dispatcher属性,允许访问控件的线程;既然不允许直接访问,就告诉控件我们要干什么就好了。方法如下:privatedelegatevoidoutputDelegate(stringmsg);privatevoidoutput(stringmsg){this.txtMessage.Dispatcher.Invoke(newoutputDelegate(outputAction),msg);}privatevoidoutputAction(stringmsg){this.txtMessage.AppendText(msg);this.txtMessage.AppendText("\n");}这里是要输出一段字符串在TextBox中,只需要调用output方法就可以了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询