如何使用代码在文件资源管理器中显示/选择文件?

Roy Li - MSFT 33,371 信誉分 Microsoft 供应商
2024-08-22T07:30:47.7733333+00:00

假设我有一个显示一些文件的 ListView。当用户选择一个时,我想在文件资源管理器中显示该文件。这在 UWP 中可能吗?

问题源:How show/select a file in File Explorer using code? - Microsoft Q&A

通用 Windows 平台 (UWP)
通用 Windows 平台 (UWP)
一个 Microsoft 平台,用于生成和发布适用于 Windows 桌面设备的应用。
49 个问题
0 个注释 无注释
{count} 票

1 个答案

排序依据: 非常有帮助
  1. Junjie Zhu - MSFT 18,486 信誉分 Microsoft 供应商
    2024-08-22T09:35:05.3966667+00:00

    你好!

    是可以实现的,需要 StorageFile.GetParentAsync Launcher.LaunchFolderAsync。但是,您需要为应用添加受限制的 broadFileSystemAccess 功能

    部署应用程序后,打开设置> 隐私和安全 > 文件系统,找到该应用并打开访问权限。

    Windows.Storage.StorageFile file;
     private async void Button_Click_Show(object sender, RoutedEventArgs e)
     {
         StorageFolder folder = await file.GetParentAsync();
         await Launcher.LaunchFolderAsync(folder);
     }
     private async void Button_Click_Select(object sender, RoutedEventArgs e)
     {
         var picker = new Windows.Storage.Pickers.FileOpenPicker();
         picker.ViewMode = Windows.Storage.Pickers.PickerViewMode.Thumbnail;
         picker.SuggestedStartLocation = Windows.Storage.Pickers.PickerLocationId.PicturesLibrary;
         picker.FileTypeFilter.Add(".jpg");
         picker.FileTypeFilter.Add(".jpeg");
         picker.FileTypeFilter.Add(".png");
        file = await picker.PickSingleFileAsync();
         if (file != null)
         {         
             Debug.WriteLine("Picked photo: " + file.Name);
         }
         else
         {
             Debug.WriteLine("Operation cancelled.");
             
         }
     }
    
    
    

    Thank you.

    0 个注释 无注释

你的答案

问题作者可以将答案标记为“接受的答案”,这有助于用户了解已解决作者问题的答案。