UWP FolderPicker带到开放应用程序的前面

时间:2017-12-01 18:47:25

标签: c# uwp windows-store-apps win-universal-app

我有UWP代码用于执行某些任务,完成后任务 FolderPicker 用于选择用户保存文件的位置。因为任务完成需要一些时间用户可以将我的应用程序切换到另一个应用程序/窗口当用户回到我的应用程序时 FolderPicker 打开但在应用程序背面(这是不可见的)在这种情况下用户可能不会注意到文件夹选择器。有没有办法在打开应用程序前引入 FolderPicker ?请帮忙,谢谢。

1 个答案:

答案 0 :(得分:0)

如果你想像WinForms或WPF一样把文件选择器对话框或整个应用程序带到顶端,那么在UWP中没有完全相同的。

紧凑覆盖模式尽可能接近。这是在Creators Update中引入的在其他窗口之上显示应用程序的紧凑视图的一种方式: Compact Overlay mode - App in top right corner

您可以进入紧凑覆盖模式(这会将您的应用显示在其他模式之上),显示文件选择器,返回正常模式:

if (ApplicationView.GetForCurrentView().IsViewModeSupported(ApplicationViewMode.CompactOverlay))
    await ApplicationView.GetForCurrentView().TryEnterViewModeAsync(ApplicationViewMode.CompactOverlay);

var file = await picker.PickSingleFileAsync();

await ApplicationView.GetForCurrentView().TryEnterViewModeAsync(ApplicationViewMode.Default);

唯一的问题是,在紧凑叠加模式下,视图会缩小,但您可以使用专用视图解决此问题,以便在紧凑叠加模式(see this article)中显示,您可以从中调用文件选择器。

这应该回答你的问题,但说实话,跳过其他窗口的对话似乎是一个不好的用户体验的例子。你最好先预先显示文件选择器(当用户在应用程序中时)或稍后通过toast通知他,这将导致你的应用程序被点击(这将更有礼貌,用户将有机会当他或她不想分心时禁用行动中心的通知。)