美文网首页
WPF-TreeView 添加右键选择

WPF-TreeView 添加右键选择

作者: 久百一 | 来源:发表于2020-01-08 17:31 被阅读0次

在TreeViewItem中响应PreviewMouseRightButtonDown事件

<TreeView.ItemContainerStyle>
   <Style TargetType="{x:Type TreeViewItem}">
       <EventSetter Event="TreeViewItem.PreviewMouseRightButtonDown" Handler="TreeViewItem_PreviewMouseRightButtonDown"/>
   </Style>
</TreeView.ItemContainerStyle>

在响应右键单击事件前选中TreeViewItem节点。

private void TreeViewItem_PreviewMouseRightButtonDown(object sender, MouseButtonEventArgs e)
{
   var treeViewItem = VisualUpwardSearch<TreeViewItem>(e.OriginalSource as DependencyObject) as TreeViewItem;
   if (treeViewItem != null)
   {
       treeViewItem.Focus();
       e.Handled = true;
   }
}

static DependencyObject VisualUpwardSearch<T>(DependencyObject source)
{
   while (source != null && source.GetType() != typeof(T))
       source = VisualTreeHelper.GetParent(source);

   return source;
}

相关文章

网友评论

      本文标题:WPF-TreeView 添加右键选择

      本文链接:https://www.haomeiwen.com/subject/kjvsactx.html