Я использую WPF TreeView для отображения некоторой иерархической информации. Каждый объект в TreeView состоит из нескольких атрибутов, таким образом, я использую Сетку в своем HierarchicalDataTemplate для отображения этих атрибутов:
Это отображается как хороший TreeView с 4 столбцами - пока неплохо! Единственной дополнительной вещью, в которой я нуждаюсь, является заголовок выше TreeView, который отображает имена столбцов. Ширины столбца заголовка должны синхронизироваться с TreeViewItems, и также стили заголовка должны быть настраиваемы. Что самый легкий путь состоит в том, чтобы сделать это?
P.S. Я нашел два решения, которые приблизились:
1) TreeListView здесь, но это требует, чтобы я реализовал пользовательский интерфейс (ITreeModel) к моей модели. Также подход в этом решении должен запуститься с ListView и реализовать RowExpander вручную. В моем случае TreeView достаточно близко к тому, в чем я нуждаюсь, таким образом, я надеюсь, что помещение заголовка на нем должно быть очень простым.
2) TreeListView здесь. Этот действительно запускает с TreeView, но я не могу выяснить, как настроить заголовок. Я подозреваю, что должен настроить GridViewHeaderRowPresenter в generic.xaml, но этот элемент, кажется, не имеет свой собственный ControlTemplate.
Что ж, я нашел решение здесь , которое полностью соответствует моим требованиям!