【发布时间】:2010-12-18 09:56:08
【问题描述】:
我想使用此代码将进度条从运行 1 更新为 100。
for (int i = 0; i <= 100; i++) {
System.Threading.Thread.Sleep(100);
progressBar1.Value = i;
}
但结果是,UI 冻结,直到循环完成。
我知道Dispatcher 可以提供帮助,但我不想拆分功能。
是否有任何命令可以立即更新 UI,例如..
for (int i = 0; i <= 100; i++) {
System.Threading.Thread.Sleep(100);
progressBar1.Value = i;
UpdateUINow();
}
编辑:我正在使用 WPF,并且我使用 Thread.Sleep 来模拟长时间运行的进程。
事实上,我想要任何喜欢Application.DoEvents 的命令。但是我在 WPF 中找不到这个命令。
【问题讨论】:
标签: c# wpf user-interface asynchronous dispatcher