如何在单击项目时展开 WPF TreeView [英] How to expand WPF TreeView on single click of item
本文介绍了如何在单击项目时展开 WPF TreeView的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
现在您必须双击或单击 + 图标.如果用户点击它展开的节点上的任何地方,有没有办法做到这一点?
Right now you have to double click or click the + icon. Is there any way to make it so if a user clicks anywhere on the node it expands?
推荐答案
也许不是最优雅的解决方案,但它有效:
Maybe is not the most elegant solution but this works:
static DependencyObject VisualUpwardSearch<T>(DependencyObject source)
{
while (source != null && source.GetType() != typeof(T))
source = VisualTreeHelper.GetParent(source);
return source;
}
然后在 TreeViewItem.Selected 处理程序中:
then in the TreeViewItem.Selected Handler:
private void Treeview_Selected(object sender, RoutedEventArgs e)
{
var treeViewItem = VisualUpwardSearch<TreeViewItem>(e.OriginalSource as DependencyObject) as TreeViewItem;
if (treeViewItem != null) treeViewItem.IsExpanded = true;
}
VisualUpwardSearch 魔法取自此处:在显示 ContextMenu 之前右键单击选择 TreeView 节点
the VisualUpwardSearch magic is taken from here: Select TreeView Node on right click before displaying ContextMenu
问候
这篇关于如何在单击项目时展开 WPF TreeView的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文