如何在 UWP 中显示加载图像

本文关键字:显示 加载 图像 UWP | 更新日期: 2023-09-27 18:37:23

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

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

如何在 UWP 中显示加载图像

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

<ProgressRing x:Name="LoadingIndicator" />

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

try
{
    LoadingIndicator.IsActive = true;
    await LongOperationAsync();
}
finally
{
    LoadingIndicator.IsActive = false;
}

IsActive设置为 true将显示进度环并开始旋转。将其设置回false将再次隐藏并停用它。在执行LongOperationAsync时,应用程序将响应,用户将能够与之交互。

如果您使用的是 MVVM,您当然可以设置布尔属性并将其绑定到IsActive属性。

不确定,你听说过 UWP 应用的"单线程概念",但没有什么能阻止你的应用进行多线程处理。事实上,你不能直接使用 Thread 类,但无论如何你应该改用Task

您可以使用

FFImageLoading 它使用各种方法来优化图像加载(包括下载/内存缓存),并且还支持加载/错误占位符:

<ff:FFImage VerticalAlignment="Stretch" HorizontalAlignment="Stretch" TransformPlaceholders="False" LoadingPlaceholder="loading.png" ErrorPlaceholder="error.png" Height="500" Width="500" Source="http://loremflickr.com/600/600/nature?filename=simple.jpg">