当前位置: 首页 > news >正文

WPF中使用定时器更新元素-DispatcherTimer

  • 在WPF中使用定时器来更新UI元素是一种常见且有用的做法,特别是当你需要基于时间间隔来刷新数据或执行某些操作时。DispatcherTimer是WPF中用于在UI线程上执行周期性任务的理想选择,因为它确保了对UI元素的更新是线程安全的

例子程序

每隔0.5s 界面中的元素更改颜色

Xaml程序

<Grid><Rectangle x:Name="BlinkingRectangle" Width="100" Height="100" HorizontalAlignment="Center" VerticalAlignment="Center" Fill="Red"/>
</Grid>

CS程序

private DispatcherTimer _timer;
private bool _isRed = true;
public Window2()
{InitializeComponent();// 初始化定时器  _timer = new DispatcherTimer();_timer.Interval = TimeSpan.FromSeconds(0.5); // 每0.5秒切换一次颜色  _timer.Tick += Timer_Tick; // 设置Tick事件处理程序  _timer.Start(); // 启动定时器 
}private void Timer_Tick(object sender, EventArgs e)
{// 切换颜色  if (_isRed){BlinkingRectangle.Fill = new SolidColorBrush(Colors.Green);_isRed = false;Console.WriteLine("绿色");}else{BlinkingRectangle.Fill = new SolidColorBrush(Colors.Red);_isRed = true;Console.WriteLine("红色");}
}// 确保在窗口关闭时停止定时器  
protected override void OnClosed(EventArgs e)
{_timer.Stop();base.OnClosed(e);
}

http://www.lryc.cn/news/411230.html

相关文章:

  • 计算机网络 - 理解HTTP与HTTPS协议的关键区别与安全性
  • 【Spring Framework】使用XML配置文件配置Bean的实例化方式
  • 模拟电子技术-实验四 二极管电路仿真
  • Git 子仓(Git Submodule)学习
  • JavaSE基础 (认识String类)
  • 学习大数据DAY25 Shell脚本的书写2与Shell工具的使用
  • Java学习Day19:基础篇9
  • 如何撤销git add ,git commit 的提交记录
  • Postman环境变量的高级应用:复杂条件逻辑的实现
  • AI问答-供应链管理:理解医疗耗材供应链SPD板块
  • 科普文:分布式数据一致性协议Paxos
  • Vue3 + js-echarts 实现前端大屏可视化
  • 知乎信息流广告怎么投?一文读懂知乎广告开户及投放!
  • TikTok达人合作:AI与大数据如何提升跨境电商营销效果
  • win11管理员账户为啥不能改?win11怎么更改管理员账户名称?
  • Spring Security学习笔记(三)Spring Security+JWT认证授权流程代码实例
  • 精装房、旧房改造智能家居,单火线也有“救”了单火模块 零线发生器
  • 使用URLSearchParams获取url地址后面的参数(window.location.href)
  • 计算机网络03
  • linux每个目录都是干啥的???linux目录说明
  • DB2-Db2StreamingChangeEventSource
  • 在当前的数字化时代,Cobol 语言如何与新兴技术(如云计算、大数据、人工智能)进行融合和交互?
  • 使用SDL库以及C++实现的简单的贪吃蛇:AI Fitten生成
  • 【C++标准库】模拟实现string类
  • ArcGIS for js 标记(vue代码)
  • 全网最全最新100道C++面试题:40-60
  • RAG+内容推荐,应该如何实践?
  • SFTTrainer loss多少合适
  • HTTP协议详解(一)
  • RK3568平台(触摸篇)串口触摸屏