WPF 学习笔记-跨线程引用控件
2011-12-14 09:05
204 查看
注:以下内容只是便于查找记在这里,并非本人原创。
原文链接如下:/article/4711075.html感谢作者分享
在WinForm中,我们要跨线程访问窗口控件,只需要设置属性CheckForIllegalCrossThreadCalls = false;即可。
在WPF中要麻烦一下,同样的不允许跨线程访问,因为没有权限,访问了会抛异常;
没有CheckForIllegalCrossThreadCalls 属性,怎么办?
在WPF中的窗口控件都有一个Dispatcher属性,允许访问控件的线程;既然不允许直接访问,就告诉控件我们要干什么就好了。
方法如下:
privatedelegatevoid outputDelegate(string msg);
privatevoid output(string msg)
{
this.txtMessage.Dispatcher.Invoke(new outputDelegate(outputAction), msg);
}
privatevoid outputAction(string msg)
{
this.txtMessage.AppendText(msg);
this.txtMessage.AppendText("\n");
}
复制代码
这里是要 输出一段字符串在TextBox中,只需要调用output方法就可以了。其它的处理同上!
相关文章推荐
- WPF - 学习笔记 简单的跨线程访问控件方法
- WPF学习笔记--向界面动态添加控件或者usercontrol
- WPF-学习笔记 动态修改控件Margin的值
- [WPF] Felix 的线程学习笔记(二)——从WPF入手,实现简单的多线程
- WPF学习笔记--一些新鲜的控件
- WPF and Silverlight 学习笔记(十):WPF控件模型
- C#学习笔记-WPF前端布局和控件的使用
- WPF下的地图开发控件(GMap.NET)使用心得—— GMap学习笔记(二)
- WPF and Silverlight 学习笔记(十):WPF控件模型
- WPF and Silverlight 学习笔记(十一):WPF控件内容模型
- WPF学习笔记 控件篇 属性整理【1】FrameworkElement
- WPF学习笔记2-控件布局
- WPF and Silverlight 学习笔记(十):WPF控件模型
- WPF-学习笔记 将控件添加到Grid中的指定行指定列
- [WPF] Felix 的线程学习笔记(一)——从Win32的消息循环说起
- WPF学习笔记(04) - 简单的控件和数据绑定
- 【WPF学习笔记】之如何点击“新建”按钮,在面板中加载一条条的“用户控件”的信息:动画系列之(四)
- WPF学习笔记--使用配置文件修改控件、面板颜色
- WPF and Silverlight 学习笔记(十一):WPF控件内容模型
- WPF学习笔记--控件模板