首页 文章

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

提问于
浏览
0

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


1 回答

  • 0

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

    Compact Overlay mode 尽可能接近 . 这是一种在其他窗口上显示应用程序的紧凑视图的方法,在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通知他,这将导致你的应用程序被点击(这将更有礼貌,用户将有机会当他或她不想分心时禁用行动中心的通知) .

相关问题