没有对话框的 UWP C# FolderPicker

UWP C# FolderPicker without Dialog

我有以下代码

var picker = new FolderPicker();
            picker.FileTypeFilter.Add("*"); 
            var pfolder = await picker.PickSingleFolderAsync();
            StorageApplicationPermissions.FutureAccessList.Add(pfolder);
            StorageFile file = await pfolder.GetFileAsync("Kundenliste.xml");

可以给FolderPicker一个固定的文件夹吗?来自 FolderPicker 的对话框不应弹出,但我需要访问文件夹 C:\.

有可能吗?

UWP 应用程序 运行 在沙盒中,这样用户就可以安全地安装它们,而不必担心应用程序会访问她未授予其访问权限的文件夹。

在这种情况下,如果您需要访问C:盘,根据您目标Windows10的版本,有两种解决方案。

如果您的目标是 Fall Creators Update (1709 - 16299) 或更低版本,则必须使用 FolderPicker 对话框要求用户手动选择文件夹。

如果您针对 Spring Creators Update(1803 - 可能是 17110),您可以声明新的 broadFileSystemAccess capability,这将使您的应用程序能够访问用户有权访问的任何位置,但是你的应用需要这样的东西肯定是有原因的,因为它是在 Microsoft Store 的认证过程中进行评估的。

此外,如果您的应用声明了 app execution alias,它会自动获得从向下启动的文件夹访问文件系统树的权限。您不需要任何特殊权限。