Select TreeView Node on right click before displaying ContextMenu

后端 未结 11 2001
鱼传尺愫
鱼传尺愫 2020-11-29 19:39

I would like to select a WPF TreeView Node on right click, right before the ContextMenu displayed.

For WinForms I could use code like this Find node clicked under co

11条回答
  •  一生所求
    2020-11-29 20:19

    Almost Right, but you need to watch out for non visuals in the tree, (like a Run, for instance).

    static DependencyObject VisualUpwardSearch(DependencyObject source) 
    {
        while (source != null && source.GetType() != typeof(T))
        {
            if (source is Visual || source is Visual3D)
            {
                source = VisualTreeHelper.GetParent(source);
            }
            else
            {
                source = LogicalTreeHelper.GetParent(source);
            }
        }
        return source; 
    }
    

提交回复
热议问题