Ich verwende die WPF-TreeView, um einige hierarchische Informationen anzuzeigen. Jedes Element in der TreeView besteht aus mehreren Attributen. Daher verwende ich ein Raster innerhalb meiner HierarchicalDataTemplate, um diese Attribute anzuzeigen:
%Vor%Dies wird als nettes TreeView mit 4 Spalten angezeigt - so weit so gut! Die einzige zusätzliche Sache, die ich brauche, ist eine Kopfzeile über der TreeView, die Spaltennamen anzeigt. Die Header-Spaltenbreiten sollten mit TreeViewItems synchronisiert werden und auch die Header-Stile sollten anpassbar sein. Was ist der einfachste Weg, dies zu tun?
P.S. Ich habe zwei naheliegende Lösungen gefunden:
1) Eine TreeListView hier , aber dazu muss ich eine benutzerdefinierte Schnittstelle (ITreeModel) implementieren mein Modell. Außerdem besteht der Ansatz in dieser Lösung darin, mit einem ListView zu beginnen und einen RowExpander manuell zu implementieren. In meinem Fall ist das TreeView ausreichend nah an dem, was ich brauche, also hoffe ich, dass es sehr einfach sein sollte, einen Header zu setzen.
2) Ein TreeListView hier . Dieser beginnt tatsächlich mit einem TreeView, aber ich kann nicht herausfinden, wie man den Header anpasst. Ich vermute, dass ich den GridViewHeaderRowPresenter in der generic.xaml anpassen muss, aber dieses Element scheint nicht sein eigenes ControlTemplate zu haben.
Tags und Links wpf treeview columnheader