UWP FolderPicker 置于打开应用程序的前面

UWP FolderPicker Bring to Front of opening app

我有用于执行某些任务的 UWP 代码,完成任务后 FolderPicker 用于 select 用户保存文件的位置。因为任务完成需要一些时间,当用户返回我的应用程序时,用户可能会将我的应用程序切换到另一个 app/window案例用户可能不会注意到文件夹选择器。有什么办法可以把FolderPicker放在打开app前吗?请帮忙,谢谢。


如果您想像在 WinForms 或 WPF 中那样将文件选择器对话框或整个应用程序置于顶部,那么在 UWP 中没有完全等效的方法。

紧凑叠加模式 尽可能接近。这是一种在其他 windows 之上显示应用程序紧凑视图的方式,在 Creators Update 中引入:

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

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) 中显示调用文件选择器。

这应该可以回答您的问题,但说实话,跳到其他 windows 顶部的对话框似乎是不良用户体验的一个例子。您最好事先显示文件选择器(当用户在应用程序中时)或稍后通过敬酒通知他,这会在单击时引导您的应用程序(这会更有礼貌并且用户会有机会当他或她不想分心时禁用操作中心的通知)。