【发布时间】:2017-10-05 04:02:00
【问题描述】:
我想将加载数据的时间延迟 1 到 20 秒。我还想用倒计时来更新 UI 以更新,例如“正在更新 x...中的数据”
我可以执行 Task.Delay、DispatcherTimer 或 Aysnc/await,但是如何在每秒钟倒计时更新 UI?
说明我的观点的示例(它对我不起作用,因为这会阻塞 UI 线程)。
private void Update()
{
var random = new Random();
var counter = random.Next(1, 20);
for (int i = counter; i > 0; i--)
{
UpdateCounter = i;// property bound to UI to update the countdown
Thread.Sleep(1000); //
}
// some function to update data...
}
【问题讨论】:
-
I can do Task.Delay, or DispatcherTimer or Aysnc/await好的,那么您使用这些工具编写的解决方案是什么?具体来说,它们不起作用怎么办?