wpf Treeview 子节点如何找到父节点

今天晚上在做treeview的时候 ,我选中了最下级的节点,但是根本就找不到他的父节点,用了as ,getparent 都返回了null,上网上找了很多中办法都没找到,只能看结构了。

首先  

<TreeView  TreeViewItem.Selected="treeView1_Selected" />  

treeview有个  TreeViewItem.Selected事件  

TreeViewItem selectedItem = null;

private void treeView1_Selected(object sender, RoutedEventArgs e)
 {
            TreeViewItem tv = e.OriginalSource as TreeViewItem;        //这是获得的子节点对象

     selectedItem = tv;//将子节点传给了全局变量以便外部调用
 }

这样就得到了子节点

然后

DependencyObject tv = VisualTreeHelper.GetParent(selectedItem);
System.Windows.Controls.VirtualizingStackPanel tvpanel = tv as VirtualizingStackPanel;
 ItemsPresenter ip = tvpanel.TemplatedParent as ItemsPresenter;
 TreeViewItem tvii = ip.TemplatedParent as TreeViewItem;//这是父节点

具体的结构我是调试的时候看到的  本人菜鸟一个  只能够用这种办法找到父节点了   如果有更好的办法请大佬们分享出来

已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页