WPF不同线程之间的控件的访问
WPF不同线程之间的控件是不同访问的,为了能够访问其他线程之间的控件,需要用Dispatcher.Invoke执行一个新的活动即可。
例如:
public void SetNotes(string notes){if (Dispatcher.Thread != Thread.CurrentThread){this.txtNote.Dispatcher.Invoke(new Action(() =>{this.txtNote.Text += notes;this.txtNote.Text += "\r";this.txtNote.ScrollToEnd();}));}else{this.txtNote.Text += notes;this.txtNote.Text += "\r";this.txtNote.ScrollToEnd();}}
WinForm中:
private delegate void delegateCrossThread(string message);private void SetStatus(string message){if (this.m_StatusLabel.InvokeRequired == true){delegateCrossThread ct = new delegateCrossThread(SetStatus);this.Invoke(ct, new object[] { message });}else{this.m_StatusLabel.Text = message;this.m_StatusLabel.Refresh();}}
3、异步打开窗口
Thread newWindowThread = new Thread(new ThreadStart(ThreadStartingPoint));newWindowThread.SetApartmentState(ApartmentState.STA);newWindowThread.Start(); private void ThreadStartingPoint(){SurveyStatWindow surveyStatDialog = new SurveyStatWindow();if (m_StatDataTable != null){surveyStatDialog.TimeData = m_StatDataTable;surveyStatDialog.Init();}surveyStatDialog.ShowDialog();}
4、全局异步调用
Application.Current.Dispatcher.Invoke(new Action(() =>{AddText();}));this.Dispatcher.Invoke(new Action(() =>{AddText();}));Application.Current.Dispatcher.Invoke(new Action(delegate { AddText();}));
WPF不同线程之间的控件的访问相关推荐
- C#跨线程调用窗体控件的问题
前段时间遇到跨线程调用窗体控件的问题,其实一句话System.Windows.Forms.Control.CheckForIllegalCrossThreadCalls = false;就可以解决,但 ...
- 编程小问题系列(2)——为什么WPF里MediaElement等视频控件不起作用
为什么WPF里MediaElement等视频控件不起作用? 非常可能的原因是因为没有安装Microsoft Windows Media Player 10或者10以上的播放器,MSDN文档里 就写有下 ...
- 不同项目之间的控件共享
不同项目之间的控件共享 上篇blog我有提到,不知如何解决不用项目之间的控件共享问题.很多朋友给予了热心的回答,这里一起表示感谢. 总结大家的回复,一般有2种观点,一是做成用户控件,二是 ...
- WPF 实现 DataGrid/ListView 分页控件
原文:WPF 实现 DataGrid/ListView 分页控件 在WPF中,通常会选用DataGrid/ListView进行数据展示,如果数据量不多,可以直接一个页面显示出来.如果数据量很大,200 ...
- android线程改变布局,Android线程中设置控件的值提示报错的解决方法
本文实例讲述了Android线程中设置控件的值提示报错的解决方法.分享给大家供大家参考,具体如下: 在Android线程中设置控件的值一般会与Handler联合使用,如下: package com.y ...
- WindowsXamlHost:在 WPF 中使用 UWP 的控件(Windows Community Toolkit)
原文 WindowsXamlHost:在 WPF 中使用 UWP 的控件(Windows Community Toolkit) Windows Community Toolkit 再次更新到 5.0. ...
- 【C#】wpf自定义calendar日期选择控件的样式
原文:[C#]wpf自定义calendar日期选择控件的样式 首先上图看下样式 原理 总览 ItemsControl内容的生成 实现 界面的实现 后台ViewModel的实现 首先上图,看下样式 原理 ...
- WPF自定义LED风格数字显示控件
WPF自定义LED风格数字显示控件 原文:WPF自定义LED风格数字显示控件 版权声明:本文为博主原创文章,转载请注明作者和出处 https://blog.csdn.net/ZZZWWWPPP1119 ...
- WPF实现炫酷Loading控件
原文: WPF实现炫酷Loading控件 Win8系统的Loading效果还是很不错的,网上也有人用CSS3等技术实现,研究了一下,并打算用WPF自定义一个Loading控件实现类似的效果,并可以让用 ...
最新文章
- linux设备和驱动注册,Linux驱动第五篇-----驱动注册和生成设备节点
- warshall算法求传递闭包c++_【建模小课堂】图论算法
- JSON语法之JSON键/值对
- gitd mysql_MySQL GTID (一)
- Linux lsof命令使用小结
- Jquery框架核心部分例子 .
- jstree禁用父节点点击_Jstree 使用CheckBox插件 选中父节点时被禁用的子节点也会选中问题...
- 微积分学基本定理简介
- 技术是如何推动内容产业的。
- 怎么访问vmware虚拟机IIS网站
- 发光二极管pcb封装图画法_电子元器件认识与使用ZD43 | 贴片74HC138 原理图PCB库 封装尺寸 | 视频教程...
- Limesdr软件无线电架构的理解
- PHP中smart原则,目标smart原则 “smart原则”什么意思?
- 文本语音阅读器——Python简单实现
- js实现复仇者联盟点名器
- 移动端多页面APP(MPA)开发体验
- php微信端获取头像不显示不出来,解决微信转发到朋友圈没有获取页面头像以图标展示。...
- 赶紧来修炼内功~字符串函数详解大全(三)
- android学习笔记29--------------XXXXXX.9.png图片
- 微擎在平台入口不显示安装的模块_【微擎系统】2.0.8更新说明
热门文章
- 资产支持证券(Asset-Backed Security)
- Robo 3T SQL
- 编写一个爬虫类库——(一)想法
- Java语言基础22--访问权限
- Python爬虫常用模块
- machine learning学习笔记
- Java中finalize()用法
- 『奇葩问题集锦』Fedora ubuntu 下使用gulp 报错 Error: watch ENOSPC 解决方案
- 在公网(internet)上建立website时不能用http访问
- iOS 远程通知(Remote Notification)和本地通知(Local Notification)