如何在单击项目时展开 WPF TreeView [英] How to expand WPF TreeView on single click of item

查看:41
本文介绍了如何在单击项目时展开 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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆