我可以使用Launcher.LaunchFolderAsync()(
+)从UWP应用程序打开文件资源管理器,但有没有办法在该文件浏览器窗口中选择文件?
Win32应用程序中有some ways to achieve this涉及直接调用explorer.exe并将参数传递给它,这显然不适用于UWP.
解决方法
您也可以使用Launcher.LaunchFolderAsync并使用第二个参数Folder Launcher Options.
Folder Launcher Options可以使您选择使用ItemsToSelect的文件或文件夹.
ItemsToSelect是只读属性,但您可以将项添加到现有列表中.
这是一个示例,使用FolderPicker获取文件夹,然后选择所有文件:
- FolderPicker p = new FolderPicker();
- p.FileTypeFilter.Add(".txt");
- StorageFolder folder = await p.PickSingleFolderAsync();
- foreach (var temp in await folder.GetFilesAsync())
我可以使用FolderLauncherOptions来添加我想要选择的项目.
- var t = new FolderLauncherOptions();
- foreach (var temp in await folder.GetFilesAsync())
- {
- t.ItemsToSelect.Add(temp);
- }
然后打开文件资源管理器
- await Launcher.LaunchFolderAsync(folder,t);
您可以看到在选择所有文件时将打开资源管理器.