Sag*_*gar 4 c# win-universal-app
我正在开发一个UWP应用程序.当用户点击任何控件时,如果该控件花费更长的时间来执行其任务,我想向用户显示操作需要很长时间的操作,请等待屏幕中央的图像.如何在UWP应用程序中执行此操作?
我想在这里,如果我是对的,我们的UWP正在研究单线程概念.
请给我你解决这个问题的建议.
指示长时间运行操作的最佳方法是使用内置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)
设置IsActive为true将显示进度环并开始旋转.将其重新设置为false将再次隐藏和停用它.在LongOperationAsync执行时,应用程序将响应,用户将能够与其进行交互.
如果您正在使用MVVM,您当然可以设置一个布尔属性并将其绑定到IsActiveproperty.
不确定,你在哪里听说过UWP应用程序的"单线程概念",但没有什么能阻止你的应用程序被多线程化.实际上,你不能Thread直接使用该类,但Task无论如何你应该使用它.