向上移动TreeViewItem层次结构



我的App中有一个TreeView对象,它被文件夹层次结构填充。我想尝试"爬"上这个层次结构,这样我就可以得到当前选择的项目的路径。我已经尝试使用的依赖对象,你得到与TreeViewItem。父元素,但我很困惑如何才能将父元素作为TreeViewItem本身,这样我就可以继续"爬"上去。

是否有任何方法将DependencyObject转换为TreeViewItem?

你可以从你的childNode(总是将父节点转换为TreeViewitem,直到它不可能到达treeview的根节点):

string path =(string) ChildItem.Header;
TreeViewItem currentItem = ChildItem;
while (currentItem.Parent is TreeViewItem)
{
    currentItem = currentItem.Parent as TreeViewItem;
    path = (string) currentItem.Header + "/" + path;
}

这就行了:

TreeView myTreeview = new TreeView();
//add some nodes here or import.
TreeNode parentnode = myTreeview.SelectedNode.Parent;
//or find a node using:
TreeNode parentnode = myTreeview.Nodes.Find("name"true);
//true searches in all children
//TreeNode.Parent will return null if the node has no parent

或在方法中:

public TreeNode getParent(TreeNode node)
{
    return node.Parent;
}

相关内容

  • 没有找到相关文章

最新更新