仅显示具有WinRT文件夹选择器的文件夹

时间:2014-11-29 05:46:03

标签: c# windows-runtime winrt-async

当使用WinRT文件夹选择器时,似乎我们不得不允许显示至少一种类型的文件,否则必须使用伪文件扩展名来过滤掉所有文件,这反过来意味着不能使用缩略图对于文件夹。

   try
    {
       var picker = new FolderPicker { ViewMode = PickerViewMode.List };
       picker.FileTypeFilter.Add(".fake");

       var folder = await picker.PickSingleFolderAsync();
       if (folder == null) return;

       StorageApplicationPermissions.FutureAccessList.AddOrReplace("taggingFolder", folder);
       this.Frame.Navigate(typeof(MediaItemPicker), folder.Path);
    }
    catch (TaskCanceledException ex) {
       System.Diagnostics.Debug.WriteLine(ex.Message);
    }

这是好事还是我错过了什么?请注意,不添加扩展会引发运行时异常。

1 个答案:

答案 0 :(得分:2)

文件夹选择器将仅选择文件夹,但它将显示已过滤类型的文件,以便用户可以知道他们选择的文件夹中已有的文件。通常,应用程序会添加应用程序将在所选文件夹中处理的文件类型。

如果您使用虚假类型进行过滤,则用户不太可能会显示该类型的任何文件。

过滤器与缩略图无关。如果将ViewMode设置为PickerViewMode.Thumbnail而不是List,则带有.fake过滤器的代码会显示缩略图。