每当我从循环内部更新标签的内容时,更改都不会立即复制,但最终只会出现最终值。如何强制它立即复制更改?
for(int i=0; i<5; i++) {
label1.Content = x[i];
Thread.sleep(100);
}
我希望它在等待100毫秒之间更改标签值五次。
答案 0 :(得分:4)
如果您在主UI线程上执行此操作(除非您已启动自己的线程,否则该线程),在您的循环完成之前,线程将无法自由更新UI。改为使用DispatcherTimer
并为Tick
事件注册处理程序并更新事件处理程序中的标签。这样你就不会在循环期间锁定UI线程(当你调用Thread.Sleep
时就是这样做了。)