我尝试使用以下代码更新TextBox.Text以显示从 1 到 10,内部时间为 1 秒。我不明白为什么整个 UI 在文本更新到 10 之前会休眠 10 秒,因为我认为Thread.Sleep(1000)应该属于Dispatcher.BeginInvoke创建的单独后台线程。
我的代码有什么问题?
Thread t1 = new Thread(new ThreadStart(
delegate()
{
this.Dispatcher.BeginInvoke(DispatcherPriority.Normal,
new Action(delegate()
{
for (int i = 1; i < 11; i++)
{
mytxt1.Text = "Counter is: " + i.ToString();
Thread.Sleep(1000);
}
}));
}));
t1.Start();