Я объединяю два примера, найденных в Интернете. Один о растянутых стилях выделения и один о множественном выборе в древовидной структуре .
У меня все работает, за исключением отступов в древовидной структуре. Я мог бы дать весь свой код, но это не решило бы его.
Моя проблема заключается в следующем методе:
public static class TreeViewItemExtensions
{
public static int GetDepth(this TreeViewItem item)
{
FrameworkElement elem = item;
while (elem.Parent != null)
{
var tvi = elem.Parent as TreeViewItem;
if (tvi != null)
return tvi.GetDepth() + 1;
elem = elem.Parent as FrameworkElement;
}
return 0;
}
}
Этот метод пытается получить глубину treeviewItem в дереве. Проблема в следующем: elem.Parent
всегда null . В результате получается глубина 0.
Я думаю, что это происходит, потому что я использую HierarchicalDataTemplate
. Часть моего xaml выглядит следующим образом.
XAML для моего стиля древовидного представления выглядит так:
Как я могу заставить HierarchicalDataTemplate заполнить свойство
Parent
?