博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
WPF Dispatcher介绍
阅读量:5966 次
发布时间:2019-06-19

本文共 647 字,大约阅读时间需要 2 分钟。

微软在WPF引入了Dispatcher,那么这个Dispatcher的主要作用是什么呢?

Dispatcher的作用是用于管理线程工作项队列。
主线程负责接收输入、处理事件、绘制屏幕等工作,这样一来,UI界面是主线程创建的,因为子线程不能直接更新由主线程维护的UI界面,所有调用Dispatcher更新UI。
实例:WPF更新UI
方式一

new Thread(()=>{	this.Dispatcher.Invoke(new Action(()=>{		//通知主线程去完成更新	}));}).Start();

 方式二

Application.Current.Dispatcher.Invoke(new Action(() => {	Application.Current.MainWindow.Title = "我修改过的窗体标题";}));

 方式三:异步机制

var task = Application.Current.Dispatcher.BeginInvoke(new Action(() => { 	Application.Current.MainWindow.Title = "我修改过的窗体标题"; }));task.Completed += new EventHandler(task_Completed);static void task_Completed(object sender, EventArgs e){	MessageBox.Show("任务已经完成");}

 

转载地址:http://tqmax.baihongyu.com/

你可能感兴趣的文章
Linux下eclipse编译C/C++程序遇到 undefined reference to `pthread_create'的异常解决办法
查看>>
ajax上传图片的本质
查看>>
转]最长递增子序列问题的求解
查看>>
SilverLight:基础控件使用(6)-Slider控件
查看>>
Android写的一个设置图片查看器,可以调整透明度
查看>>
第 5 章 File Share
查看>>
判断字符串解析是JsonObject或者JsonArray
查看>>
[LeetCode] Implement strStr()
查看>>
多模块Struts应用程序的几个问题(及部分解决方法)
查看>>
1.2. MariaDB
查看>>
SpringSide示例之HelloWorld
查看>>
LINQ-to-SQL那点事~LINQ-to-SQL中的并发冲突与应对
查看>>
日志不说谎--Asp.net的生命周期
查看>>
C#~异步编程续~.net4.5主推的await&async应用
查看>>
C#进行MapX二次开发之图层操作
查看>>
ASP.NET 运行机制详解
查看>>
C++ little errors , Big problem
查看>>
在 ML2 中配置 OVS vlan network - 每天5分钟玩转 OpenStack(136)
查看>>
Selenium2+python自动化34-获取百度输入联想词
查看>>
【★★★★★】提高PHP代码质量的36个技巧
查看>>