Есть ли способ сделать так, чтобы TreeView отображался всегда полностью раскрытым? - PullRequest
20 голосов
/ 11 мая 2010

В моей форме есть TreeView, но я бы хотел, чтобы он всегда был полностью развернут, даже дочерние узлы.

Есть ли способ?

Ответы [ 8 ]

30 голосов
/ 11 мая 2010

Хотите, чтобы он изначально отображался расширенным? Если это так, то после добавления всех узлов дерева вызовите метод ExpandAll для корневого узла.

Если вы хотите, чтобы оно отображалось развернуто и не позволяло пользователю свернуть его, вам нужно обработать событие BeforeCollapsed и отменить его. (Установить e.Cancel = true;).

5 голосов
/ 11 мая 2010
4 голосов
/ 21 мая 2018

Лучший способ полностью раскрыть дерево в WPF:

<TreeView.ItemContainerStyle>
                   <Style TargetType="{x:Type TreeViewItem}">
                      <Setter Property="IsExpanded" Value="True" />
                   </Style>
 </TreeView.ItemContainerStyle>

вот и все! :)

3 голосов
/ 11 мая 2010

Гадание здесь ... В событии BeforeCollapsed установите e.Cancel = true;

1 голос
/ 11 мая 2010
0 голосов
/ 11 февраля 2017

Вам может быть интересно, куда поместить оператор treeview1.expandAll()?Вы не можете поместить его в сгенерированный код дизайнера, или он будет удален при следующем обновлении / сохранении формы.

Я поместил его в код "Form1.cs", в части частичного класса, которая имеетс инициализацией формы, и это работает.Сразу после оператора InitializeComponent () (если вы не знаете, о чем я говорю, просто найдите этот оператор)

Надеюсь, это поможет:)

PD.Спасибо за вашу поддержку, вы молодцы, ребята!

0 голосов
/ 13 декабря 2016

Используйте этот код:

private void ManagerFolder_Load(object sender, EventArgs e)
{
    treeView.ExpandAll();
    treeView.Nodes[0].FirstNode.Collapse();
    treeView.Nodes[4].FirstNode.Collapse();
}
0 голосов
/ 03 мая 2016
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...