public MainWindow()
InitializeComponent();
Time = new DispatcherTimer();
Time.Interval = TimeSpan.FromMilliseconds(100);
Time.Tick += Time_Tick;
void Time_Tick(object sender, EventArgs e)
Time_Text.Text = DateTime.Now.ToString("HH:mm:ss");
private DispatcherTimer Time=null;
private void action_Click(object sender, RoutedEventArgs e)
if (Time != null)
Time.Start();
action.IsEnabled = false;
stop.IsEnabled = true;
private void stop_Click(object sender, RoutedEventArgs e)
if (Time != null)
Time.Stop();
action.IsEnabled = true;
stop.IsEnabled = false;
本文实例为大家分享了WPF定时刷新UI界面展示的具体代码,供大家参考,具体内容如下代码:using NHibernate.Criterion;using System;using System.Collections.Generic;using System.Collections.ObjectModel;using System.ComponentModel;using System.Data;...
WPF强制刷新UI界面需求代码块
在当前ViewModel类中执行某种数据列表的操作,希望View中绑定的Model类随着数据列表的改表实时刷新在View的界面上,我们可以定义一个界面强制刷新的方法,每当循环操作完列表中的一条数据,即执行强制刷新方法,让界面实时展示数据的变动。
//刷新界面控件
public void Refresh()
DispatcherFrame frame = new DispatcherFrame();
Assembly: WindowsBase.dll
A timer that is integrated into theDispatcherqueue which is processed at a specified interval of time and at ..
这是一个普遍的问题:如果我们再程序中使用了多线程技术,而工作线程(后台线程)如果需要更新界面上的元素(例如进度条等),就会有一个线程安全性问题,因为进度条是由主线程创建出来的。
关于这一点,大致上看,WPF的机制与Windows Forms是没有差别的。我们在Windows Forms中需要按照下面的方式更新窗体元素。
var frame = new DispatcherFrame();
Dispatcher.CurrentDispatcher.BeginInvoke(DispatcherPriority.Background,
new DispatcherOperat