WinRT进度指示器实现500ms等待以防止闪烁

时间:2014-12-28 04:47:34

标签: c# windows-runtime windows-phone-8.1

我有一个Windows Phone 8.1应用程序,它使用不确定的进度指示器向用户显示网络 请求正在完成。大多数情况下,请求在不到一秒的时间内完成,导致进度指示器短暂出现。

任何人都对我应该如何实现这一点有任何建议。我尝试了this讨论中的以下代码,但它似乎并不“干净”,因为我收到编译时警告我没有使用await关键字。

Task threatScoreTask = Task.Run(async () =>
{
    //code    
});
Task locationTask = Task.Run(async () =>
{
    //code    
});
Task results = Task.WhenAll(threatScoreTask, locationTask);
Task.Delay(500).ContinueWith(async e => 
{ 
   if (!results.IsCompleted)  
       //code to turn on progress bar
});

任何帮助将不胜感激。 感谢

1 个答案:

答案 0 :(得分:1)

实际上现在我考虑一下,代码看起来很好。

如果您想摆脱警告,可以将其分配给这样的变量 -

var delay = Task.Delay(5000).ContinueWith(e =>