UWP解析Windows.Storage.StorageFolder并添加TreeView

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UWP解析Windows.Storage.StorageFolder并添加TreeView相关的知识,希望对你有一定的参考价值。

我想解析用户选择的StorageFolder并创建一个显示其树结构的TreeView。这是当我要求他选择一个文件时:

private async void browserPathGitDirButton_ClickAsync(object sender, Windows.UI.Xaml.RoutedEventArgs e)
{
            FolderPicker picker = new FolderPicker();
            picker.FileTypeFilter.Add("*");
            folder = await picker.PickSingleFolderAsync();

            if(folder != null)
            {
                parser.CreateTreeView(tree, folder);
                tree.UpdateLayout();
            }    
 }

在他选择之后,我称之为这种方法:

 public void CreateTreeView(TreeView tree)
    {
                System.Diagnostics.Debug.WriteLine("root : " + root.Name);
                TreeViewItem racine = new TreeViewItem { Header = root.Name };
                racine.Tag = root.Path;
                tree.Items.Add(ParseStorageAsync(root));
    }

而这种方法也是:

public async Task<TreeViewItem> ParseStorageAsync(Windows.Storage.StorageFolder storage)
        {
            var dirNode = new TreeViewItem { Header = storage.Name };

            //directories
            foreach (var dir in await storage.GetFoldersAsync())
            {
                dirNode.Items.Add(ParseStorageAsync(dir));
            }

            //files
            foreach (var file in await storage.GetFilesAsync())
            {

                TreeViewItem item = new TreeViewItem
                {
                    Header = Path.GetFileNameWithoutExtension(file.Name),
                    Tag = file.Path

                };
                dirNode.Items.Add(item);
            }
            return dirNode;
        }

如果我使用DirectoryInfo类而不是StorageFolder,它只能在WPF项目中工作,我必须做一个UWP项目。问题是它打印出来:display

因为异步方法......

是否可以以其他方式解析UWP项目中的文件夹?

编辑:我的TreeView类是在Microsoft GitHub上编写的库,所以它运行良好,这不是问题。

答案

您正在向集合添加Task而不执行它,您需要等待您的方法

tree.Items.Add(await ParseStorageAsync(root));

以上是关于UWP解析Windows.Storage.StorageFolder并添加TreeView的主要内容,如果未能解决你的问题,请参考以下文章

uwp xaml 解析失败,类库 dll

uwp 解析或反序列化 httpclient 响应

UWP 手绘视频创作工具技术分享系列 - 文字的解析和绘制

UWP 手绘视频创作工具技术分享系列 - SVG 的解析和绘制

UWP解析Windows.Storage.StorageFolder并添加TreeView

有没有办法在后面的代码中解析 UWP 中的矢量路径几何?