Windows Phone编程中Dispatcher.BeginInvoke()的使用
来源:互联网 发布:天谕捏脸数据图 编辑:程序博客网 时间:2024/06/01 09:24
在学习Windows Phone 程序开发时经常会使用到Dispatcher.BeginInvoke()的编程方法,可能许多初学者并不熟悉Dispatcher.BeginInvoke的使用方法以及为什么在WP编程中会经常使用到这个方法,下面就粗浅介绍下Dispatcher.BeginInvoke()的使用。
在WP编程中,我们经常要做的一件事就是更新UI,而其UI部分都在单一的线程下执行的。就是说,WP的开发编程中绝大部分的UI设置更新都是在UI线程中进行的,如果你在非UI线程中要更新UI的状态,那么将会抛出一个异常UnauthorizedAccessException(无效的跨线程操作)。那么我们应该如果去更新UI状态呢?
是的,Dispatcher.BeginInvoke()派上用场了。在WP编程中,任何的UI线程上的处理都是通过Dispatcher来传送与处理的,如果想要更新UI状态,那么就可以使用Dispatcher的BeginInvoke()方法来传送,其使用方法也非常简单,只需将其中更新UI状态的代码放入Dispatcher.BeginInvoke()方法中即可,这其实是一个在处理多线程时的小技巧。
例如:
private void TestBeginInvoke(Panel p)
{
p.Dispatcher.BeginInvoke(() => {
p.Children.Clear();
p.Children.Add(
new TextBlock { Text = "Added by Dispatcher." });
});
}
- Windows Phone编程中Dispatcher.BeginInvoke()的使用
- Windows Phone 多线程-Thread与BeginInvoke的区别-多种多线程编程比较
- Windows Phone中Silverlight Toolkit的使用
- Dispatcher.BeginInvoke()方法使用不当导致UI界面卡死的原因分析
- Dispatcher.BeginInvoke()方法使用不当导致UI界面卡死的原因分析
- Dispatcher.Invoke and Dispatcher.BeginInvoke
- Windows Phone 7 网络编程之WebBrowser控件的使用
- Windows Phone 8.1中的Progress进度条控件和计时器Dispatcher的正确用法
- WINDOWS PHONE 7 中使用的MD5加密算法
- Windows Phone 编程中页面间传值方法
- windows phone FluidMoveBehavior的使用
- Windows Phone 加速度计的使用
- windows phone GestureService 的使用
- Invoke或者BeginInvoke的使用(转)
- Invoke和BeginInvoke的使用(转载)
- Invoke和BeginInvoke的使用(转载)
- Invoke和BeginInvoke的使用(转载)
- 异步编程的三种模式(使用BeginInvoke和EndInvoke实现)
- Java EE体系结构
- POJ 1511 Invitation Cards
- python3.0与python2.X的区别
- Android--软件安装器Install
- 字符串的排列组合问题
- Windows Phone编程中Dispatcher.BeginInvoke()的使用
- hdu 1863 最小生成树
- 更改Mac中的默认JDK版本
- 专业程序员必知必会的技巧:驯服复杂代码
- Java 大学实用教程课后例题unit1-3
- typeid运算符
- 开源的CMS程序有哪些?电影、论坛、分类信息开源程序
- 免费学习编程的10个小工具
- XAMPP中Apache的网站根目录