我想解析用戶可以選擇的文件夾。 但是,如果我明白,UWP中不允許絕對路徑,因爲磁盤跟媒體(xbox,windows phone,windows desktop,...)不一樣?UWP從絕對路徑或相對路徑解析文件夾
所以,我有一個叫Parser的類,它可以解析用戶選擇的路徑,但現在只能解析當前文件夾。
這不起作用:
Parser parser = new Parser(@"C:\a\b\c");
parser.createTreeView(tree);
請幫助我。先謝謝你。
編輯:這是我的分析器類=>
public TreeViewItem Parse(DirectoryInfo directoryInfo)
{
try
{
var directoryNode = new TreeViewItem { Header = directoryInfo.Name };
Convention convention = new Convention();
foreach (var directory in directoryInfo.GetDirectories())
{
directoryNode.Items.Add(Parse(directory));
System.Diagnostics.Debug.WriteLine("test : " + directory.Name);
}
foreach (var file in directoryInfo.GetFiles())
{
if (file.Name.Contains(EConvention.INSTALL))
{
listFiles.Add(file.FullName);
}
TreeViewItem item = new TreeViewItem
{
Header = Path.GetFileNameWithoutExtension(file.FullName),
Tag = file.FullName
};
directoryNode.Items.Add(item);
}
return directoryNode;
}
catch (System.UnauthorizedAccessException e)
{
//MessageDialog dialog = new MessageDialog(""+e.Message);
dialogAsync(e.Message);
return new TreeViewItem();
}
}
public void CreateTreeView(TreeView tree)
{
DirectoryInfo dir = new DirectoryInfo(pathToParse);
System.Diagnostics.Debug.WriteLine("dir exists ? "+dir.Exists);
if (dir.Exists)
{
System.Diagnostics.Debug.WriteLine("dir existe");
TreeViewItem root = new TreeViewItem() { Header = dir.Name };
root.Tag = dir;
tree.Items.Add(Parse(dir));
}
}
「解析文件夾」是什麼意思?向我們展示'Parser'類的完整代碼也會有所幫助 – GGG
我想解析一個文件夾來創建一個TreeView。我編輯我的問題向你展示我的解析器類。 –
那麼如何以及以何種方式解析任何其他文件夾? – BugFinder