我正在开发一个UWP应用程序。当用户点击任何控件时,如果该控件执行任务花费的时间较长,我想向用户显示一个指示,如操作需要很长时间,请在屏幕中央等待和图像。 如何在UWP应用程序中执行此操作?如何在UWP中显示加载图片?
我想我们在这里我们的UWP正在研究单线程的概念,如果我是对的。
请给我你的建议来解决这个问题。
我正在开发一个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">
谢谢现在我能够做到...... @Damir Arh – Sagar
如何为进度设置自定义颜色...默认情况下需要重音颜色...如何更改它... – Razor
只需设置'Foreground'属性,例如:' ' –