Reputation: 77
i have problem with viewing the path of 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
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.
Thank you for help
ADD:
After changed to SelectedValuePath, textbox is empty. 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. 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);
}`
Upvotes: 1
Views: 606
Reputation: 22702
In your case, you must take the Header
string of TreeViewItem
:
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);
}
Upvotes: 1