编辑:这不是dispatcherTimer doesn't work accurately的重复。这个问题与更新ui线程无关,而只是更新调度程序计时器本身。
我正在尝试制作一个C#WPF程序,该程序只会增加一些变量并每X毫秒更新标签。
我创建了一个名为Label_test的C#WPF窗口,并设置了一个调度程序计时器以每10毫秒执行一次,这将增加一个整数并更新标签。
using System;
using System.Windows;
using System.Windows.Threading;
namespace WPF_Test
{
public partial class MainWindow : Window
{
DispatcherTimer dt = null;
public MainWindow()
{
InitializeComponent();
dt = new DispatcherTimer();
dt.Interval = new TimeSpan(0, 0, 0, 0, 10);
dt.Tick += Dt_Tick;
dt.Start();
}
int value = 0;
private void Dt_Tick(object sender, EventArgs e)
{
value += 1;
Label_test.Content = "Value: " + value.ToString();
}
}
}
我希望标签大约每10毫秒更新一次,并且ui元素将刷新。取而代之的是,我得到了这种奇怪的随机间隔行为,如在该视频中所看到的那样,它似乎有时只是阻塞而似乎从未像预期的那样快。 https://drive.google.com/file/d/1ONg9i_F_3f-Oy_fnDHcaD9-GtaReL-78/view