今天帮助同事做了一个WPF版的多线程demo,分享给大家。

要实现的问题就是非主线程thread1 去后台不停的取新数据,当有新数据的时候就会展示到前台。

我给他做的demo实现一个按秒的计数器,随着时间然后每秒数据加1,

这个demo涉及到的点有 多线程,垮线程更改控件的值Dispatcher的使用

1、我们新建项目 WPF项目,demo

2、在设计器上添加一个控件

 <Label Content="Label" Name="m1" HorizontalAlignment="Left" Margin="197,57,0,0" VerticalAlignment="Top" FontSize=""/>

3、新建业务类

public class Model
{
public String Data;
}
public delegate void Exe(Model a);
public class WillDo
{
public event Exe Output;
public void 后台数据方法()
{
int i = ;
while (true)
{
Output(new Model() { Data = i.ToString() });
i++;
Thread.Sleep();
}
}
}

4、在设计器的后台代码上加入下面的代码

 public partial class MainWindow : Window
{
WillDo c = new WillDo();
public MainWindow()
{
InitializeComponent();
c.Output += C_Output;
} private void C_Output(Model a)
{
this.Dispatcher.Invoke(new Action(() =>
{
m1.Content = a.Data.ToString();
}));
} private void Window_Loaded(object sender, RoutedEventArgs e)
{
var th1 = new Thread(() =>
{
c.后台数据方法();
}); th1.IsBackground = true;
th1.Start();
}
}

5、做的效果如下

最新文章

  1. iframe框架用法
  2. codevs3250 操作序列
  3. suspend
  4. 学习zepto.js(原型方法)[1]
  5. IOS项目删除Git
  6. spring day01-go1
  7. Mac下的SVN客户端工具Cornerstone使用教程
  8. Kerberos和NTLM - SQL Server
  9. flexPaper +swftools实现文档在线阅读
  10. 用jQuery与JSONP轻松解决跨域访问的问题【转】
  11. 前端中的SEO
  12. uva10341 - solve it (二分查找)
  13. 触发器(基本的SR触发器、同步触发器、D触发器)
  14. 用Django Rest Framework和AngularJS开始你的项目
  15. JS前端的分享功能
  16. Https握手协议以及证书认证
  17. CentOS_5.6下使用cmake编译MySQL_5.5.11
  18. Java并发之synchronized关键字
  19. WordPress plugin Contact Form [CSRF → LFI] vulnerable 2019-03-17
  20. css3 box-shadow阴影(外阴影与外发光)讲解

热门文章

  1. 《DOM Scripting》 - 阅读笔记
  2. CNN for NLP (CS224D)
  3. 代码高亮插件SyntaxHighlighter
  4. ORACLE自定义顺序排序-转
  5. Windows下安装Cygwin及包管理器apt-cyg(转)
  6. MYSQL判断某个表是否已经存在
  7. 開始Unity3D的学习之旅
  8. 借助nginx搭建反向代理服务器小例
  9. Notification的基本用法以及使用RemoteView实现自定义布局
  10. CSS3美化网页元素
  11. .NET开发设计模式-模板模式
  12. Logstash filter 插件之 grok
  13. threejs绕轴转,粒子系统,控制器操作等(二)
  14. servlet 遇到的奇怪问题
  15. 《转载》强大全面的C++框架和库推荐!
  16. tomcat去除项目名部署
  17. Can&#39;t find kernel text map area from kcore
  18. VMware Workstation “以独占方式锁定此配置文件失败。可能其它正在运行VMware进程在使用此配置文件”
  19. HDU1070:Milk
  20. LOJ.114.K大异或和(线性基)