Как развернуть WPF TreeView на одиночном нажатии объекта

Прямо сейчас необходимо дважды щелкнуть или нажать + значок. Там какой-либо путь состоит в том, чтобы сделать его поэтому, если пользователь нажимает где-нибудь на узел, это расширяется?

13
задан AKoran 27 May 2010 в 14:23
поделиться

1 ответ

Возможно, это не самое элегантное решение, но оно работает:

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

        return source;
    }

тогда в обработчике TreeViewItem.Selected:

        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 берется отсюда: Выберите узел TreeView на щелкните правой кнопкой мыши перед отображением ContextMenu

С уважением

5
ответ дан 1 December 2019 в 22:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: