Компания имеет традиционную сложную организационную структуру, определяющую количество уровней с использованием буквы «n», а не фактического числа. Я попытаюсь выразить структуру, которую я пытаюсь достичь, в моноширинном шрифте:
Alice
,--------|-------,------,------,
Bob Fred Jack Kim Lucy
| |
Charlie Greg
Darren Henry
Eric
Как вы можете видеть, это не симметрично, поскольку Джек, Ким и Люси отчитываются перед Алисой, но не имеют собственных отчетов.
Использование TreeView
с ItemsPanel
, содержащим StackPanel
и Orientation="Horizontal"
, достаточно просто , но это может привести к очень большому TreeView
, если некоторые люди сообщают о 20 других им! Вы можете также использовать Triggers
, чтобы узнать, есть ли у TreeViewItem
дочерние элементы с Property="TreeViewItem.HasItems"
, но это не в том же контексте, что и вышеупомянутый ItemsPanel
. Например: я могу сказать, что у Фреда есть отчеты, но нет ли у них собственных отчетов.
Итак, можете ли вы условно отформатировать TreeViewItems
как вертикальное, если у них нет собственных детей?