[英]TreeView c# filepath
i have problem with viewing the path of SelectedTreeView. 我在查看SelectedTreeView的路径时遇到问题。
private void btn3_Click(object sender, RoutedEventArgs e)
{
String TreeViewName = treeView1.SelectedItem.ToString().Replace("Item", String.Empty);
MessageBox.Show(TreeViewName);
}
Results is : System.Windows.Controls.TreeView Header: FILENAME s.Count:1 结果是:System.Windows.Controls.TreeView标题: FILENAME s.Count:1
I need a path of file, because i have TreeView as filebrowser as and, if i want run the file from treeview, it doesn't work, because it's write that result. 我需要一个文件路径,因为我将TreeView用作文件浏览器,并且,如果我想从treeview中运行文件,它将无法正常工作,因为它会写入结果。
Thank you for help 谢谢你的帮助
ADD: 加:
After changed to SelectedValuePath, textbox is empty. 更改为SelectedValuePath后,文本框为空。 Do you have any ideas to do it otherwise?
您有其他想法吗? I need run the file from TreeView, after I need solve how to view pictures from treeview in grid or canvas.
解决解决方案后,我需要从TreeView运行文件。 My code is
我的代码是
private void button2_Click(object sender, EventArgs e)
{
System.Windows.Forms.FolderBrowserDialog dlg = new System.Windows.Forms.FolderBrowserDialog();
dlg.Description = "Vyberte složku, kterou přidat";
if (dlg.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
txtbox1.Text = dlg.SelectedPath;
ListDirectory(treeView1, dlg.SelectedPath);
}
}
private void ListDirectory(TreeView treeView, string path)
{
treeView.Items.Clear();
var rootDirectoryInfo = new DirectoryInfo(path);
treeView.Items.Add(CreateDirectoryNode(rootDirectoryInfo));
}
private static TreeViewItem CreateDirectoryNode(DirectoryInfo directoryInfo)
{
var directoryNode = new TreeViewItem { Header = directoryInfo.Name };
foreach (var directory in directoryInfo.GetDirectories())
directoryNode.Items.Add(CreateDirectoryNode(directory));
foreach (var file in directoryInfo.GetFiles())
directoryNode.Items.Add(new TreeViewItem { Header = file.Name });
return directoryNode;
}
private void btn3_Click(object sender, RoutedEventArgs e)
{
String TreeViewName = treeView1.SelectedValuePath.ToString().Replace("Item", String.Empty);
txtbox2.Text = TreeViewName;
System.Diagnostics.Process.Start(TreeViewName);
}`
In your case, you must take the Header
string of TreeViewItem
: 对于您的情况,您必须采用
TreeViewItem
的Header
字符串:
private void Button_Click(object sender, RoutedEventArgs e)
{
TreeViewItem SelectedTreeViewItem = SampleTreeView.SelectedItem as TreeViewItem;
string FileName = "";
if (SelectedTreeViewItem != null)
{
FileName = SelectedTreeViewItem.Header.ToString(); // Here
}
MessageBox.Show(FileName);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.