我正在使用UWP框架为Windows 10 Mobile Enterprise制作应用程序。我有一些文件要循环保存到磁盘,我想显示一个弹出窗口ProgressBar
,在保存文件时阻止用户。我想更新ProgressBar
每个循环迭代,并在最后删除它。
我想我可以制作一个包含ContentDialog
的自定义ProgressBar
,并在开头显示ContentDialog
。我很困惑如何执行此操作,因为ContentDialog
ShowAsync()
方法会在对话框打开时阻止。
我的猜测是我必须在新的线程/任务/任何事情中执行ShowAsync()
或文件循环。是否有最佳实践方法?
注意 - 进度条不能,根据要求只需进入当前页面。它必须是某种类型的弹出窗口,阻止用户直到它被代码关闭。
答案 0 :(得分:0)
ContentDialog
实际上并不适合这种情况。问题是ContentDialog
表示模态对话框,这意味着应用程序窗口被阻止,直到用户关闭对话框。 Task ShowAsync()
方法的构建方式使您可以等待用户执行内容对话框操作,并且无法在除UI之外的任何其他线程上打开对话框。
您有三种可能的解决方案:
Popup
,其中包含进度详细信息(可以通过点击其他位置来解除,但是用户可以从“状态栏”中再次显示它)Dispatcher
)