0
ユーザーが選択したツリー構造を示すTreeViewを作成して作成するStorageFolderを解析します。私はUWP Windows.Storage.StorageFolderを解析してツリービューを追加する
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;
}
場合:
あまりに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));
}
そして、この方法:彼は、私は、このメソッドを呼び出し、選んだ後
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();
}
}
:私は、ファイルを選択するために彼に尋ねたときにこれがありますStorageFolderの代わりにDirectoryInfoクラスを使用すると、WPFプロジェクトでのみ動作しますが、UWPプロジェクトを実行する必要があります。 問題は、この印刷していることである。なぜなら、非同期メソッドの
それはUWPプロジェクト内の他の方法でフォルダを解析することは可能ですか?
EDIT:私のTreeViewクラスはMicrosoft GitHub上で書かれたライブラリなので、正常に動作しますが、これは問題ではありません。
を待つ必要があるが、どうもありがとう、私はC#で始まることだし、あなたの答えは非常に非常に便利です! –