TreeView控件在PreviewMouseDown事件中获取TreeViewItem

 WPF

就是在这个事件中,当点击这个事件时,会把你点的这个按钮的名字在item的属性中显示出来,而后你自己想要什么功能就可以根据获得的这个TreeViewItem进行判断等操作

<TreeView Name="_tvw"  Focusable="True"  PreviewMouseLeftButtonDown="_tvw_PreviewMouseLeftButtonDown" ></TreeView>

private void myTreeView_PreviewMouseDown(object sender, MouseButtonEventArgs e)
{
  TreeViewItem item = GetTreeViewItemClicked((FrameworkElement)e.OriginalSource, _tvw);
}

private TreeViewItem GetTreeViewItemClicked(FrameworkElement sender, TreeView treeView)
{
  Point p = ((sender as FrameworkElement)).TranslatePoint(new Point(0, 0), treeView);
  DependencyObject obj = treeView.InputHitTest(p) as DependencyObject;
  while (obj != null && !(obj is TreeViewItem))
    obj = VisualTreeHelper.GetParent(obj);
  return obj as TreeViewItem;
}
转自:https://www.it1352.com/1641408.html
posted @ 2021-05-24 18:05  卡尔赛斯  阅读(183)  评论(0)    收藏  举报