如果我以编程方式创建 WPF TreeView,例如:
// TreeView treeView; <- added in the designer
TreeViewItem rootNode = new TreeViewItem();
rootNode.Header = "RootNode"
treeView.Items.Add(rootNode);
TreeViewItem subNode1 = new TreeViewItem();
subNode1.Header = "SubNode1";
rootNode.Items.Add(subNode1);
TreeViewItem subNode2 = new TreeViewItem();
subNode2.Header = "SubNode2";
rootNode.Items.Add(subNode2);
但是,我想获取树视图中某个节点的路径,就像FullPath
财产在System.Windows.Forms.TreeNode
班级。所以路径为subNode2
将会RootNode//SubNode2
。我该怎么做呢?
编辑:我不是在寻找手动解决方案,但是我想知道是否有类似的等效访问器FullPath
或者如果我打算以错误的方式使用 WPF TreeView 类。例如。我看过DisplayMemberPath
and SelectedValuePath
但他们似乎没有提供我想要的结果。
看看我在这里的回答:
Silverlight:确定父TreeViewItem? https://stackoverflow.com/questions/4246159/silverlight-determine-parent-treeviewitem
然后确定路径很简单:
public string GetFullPath(TreeViewItem node)
{
if (node == null)
throw new ArgumentNullException();
var result = Convert.ToString(node.Header);
for (var i = GetParentItem(node); i != null; i = GetParentItem(i))
result = i.Header + "\\" + result;
return result;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)