【问题标题】:UWP - How do I get StorageFolder from FolderInformation in C#?UWP - 如何从 C# 中的 FolderInformation 获取 StorageFolder?
【发布时间】:2021-11-27 00:16:29
【问题描述】:

我正在使用 FileInformationFactory.GetVirtualizedFoldersVector 方法来填充 ListView 控件。 GetVirtualizedFoldersVector 返回 IStorageItemInformation 对象的向量,在文件夹的情况下恰好是 Windows.Storage.BulkAccess.FolderInformation。

在点击项事件处理程序中我要获取对应的StorageFolder

在 C++/WinRT 中我可以使用

void MainPage::FolderListView_ItemClick(Windows::Foundation::IInspectable const&, Windows::UI::Xaml::Controls::ItemClickEventArgs const& args)
{
    auto clickedItem = args.ClickedItem();
    if (clickedItem)
    {
        auto folder = clickedItem.try_as<StorageFolder>();
        if (folder)
        {
        // We have a StorageFolder
        }
    }
}

这很好用,但在 C# 中同样的事情不起作用!

private void FolderListView_ItemClick(object sender, ItemClickEventArgs args)
{
    var clickedItem = args.ClickedItem;
    if (clickedItem != null)
    {
        StorageFolder folder = clickedItem as StorageFolder;
        if (folder != null)
        {
           // folder is always null
        }
    }
}

我不想使用 StorageFolder.GetFolderFromPathAsync(),因为对于 KnownFolders.MediaServerDevices 等虚拟化位置的路径为空 ("")

【问题讨论】:

    标签: c# uwp casting windows-runtime


    【解决方案1】:

    尝试将其转换为特定的接口,例如 IStorageFolder 而不是类。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-23
      • 2020-03-15
      相关资源
      最近更新 更多