如何在UWP中显示加载图像?

Sag*_*gar 4 c# win-universal-app

我正在开发一个UWP应用程序.当用户点击任何控件时,如果该控件花费更长的时间来执行其任务,我想向用户显示操作需要很长时间的操作,请等待屏幕中央的图像.如何在UWP应用程序中执行此操作?

我想在这里,如果我是对的,我们的UWP正在研究单线程概念.
请给我你解决这个问题的建议.

Dam*_*Arh 8

指示长时间运行操作的最佳方法是使用内置ProgressRing控件:

<ProgressRing x:Name="LoadingIndicator" />
Run Code Online (Sandbox Code Playgroud)

您的长时间运行操作应该作为一种async方法实现.您可以按如下方式调用它:

try
{
    LoadingIndicator.IsActive = true;
    await LongOperationAsync();
}
finally
{
    LoadingIndicator.IsActive = false;
}
Run Code Online (Sandbox Code Playgroud)

设置IsActivetrue将显示进度环并开始旋转.将其重新设置为false将再次隐藏和停用它.在LongOperationAsync执行时,应用程序将响应,用户将能够与其进行交互.

如果您正在使用MVVM,您当然可以设置一个布尔属性并将其绑定到IsActiveproperty.

不确定,你在哪里听说过UWP应用程序的"单线程概念",但没有什么能阻止你的应用程序被多线程化.实际上,你不能Thread直接使用该类,但Task无论如何你应该使用它.