Frage

Hey Jungs, Ich habe eine WPF-TreeView, die drei Knoten hat, würde ich das letzte Kind möchte (der dritte Knoten) ein Listview mit meinen gebundenen Daten gefüllt enthalten. Das Problem, das ich in laufen lasse, ist, dass, wenn ich eine Listview in der ItemTemplate meines HierarchicalDataTemplate ich ein Listview für jedes Kind bekommen setze eher als ein einzelnes Listview mit Inhalt. Das ist erwartetes Verhalten gemäß der Dokumentation, aber ich bin auf der Suche für eine Arbeit um (möglicherweise die ItemContainerStyle ändern), leider habe ich so gut wie keine Erfahrung mit der Kontrolle Vorlage des TreeViewItem, oder für diese Angelegenheit viel Erfahrung mit TreeViews im Allgemeinen.

Ich habe am posibility sehe einen TreeListView verwenden, aber sie paßt nicht meinen Anwendungsfall, noch die Bindung eine separate Steuerung und Anzeige von Daten auf diese Weise.

Hat jemand entweder bereits durch die Kopfschmerzen weg ein Listview in eine TreeViewItem von sandwichartig, oder kann jemand vorschlagen, wie die Control zu ändern, dies zu erreichen?

Danke, Aj

War es hilfreich?

Lösung 2

Stellt sich heraus, der einfachste Weg, um mit der Situation umzugehen ist, die HierarchicalDataTemplate auf dem zweiten Knoten mit einem Expander zu ersetzen, die Itemssource auf dem Listview statt der HierarchicalDataTemplate gesetzt und restyle die Taste auf der Expander wie das aussehen von ein TreeViewItem .... sorta ein Hack, aber es funktioniert:)

Vielen Dank für all die Hilfe,

Aj

Andere Tipps

Der Knoten, der die Listview hat, sollte einen anderen Datentyp als die beiden anderen Knoten sein, so dass es durch die Treeview anders gehandhabt werden kann. Auch klingt es wie das Kind, das die Listenansicht Daten enthält, nicht in einer HierarchicalDataTemplate aber eine regelmäßige DataTemplate sein sollte, da es keine anderen untergeordneten Elemente von der Treeview erkannt hat. Sie können HierarchicalDataTemplate und regelmäßiges Datatemplates in einem Treeview mischen und wie Sie fit, regelmäßiges Datatemplates sehen repräsentieren „Blatt“ Knoten, sie haben keine Kinder.

Probe mit unterschiedlichen Datentypen in Treeview verwendet, aber immer noch mit hierarchischen Vorlagen:

<HierarchicalDataTemplate DataType="{x:Type FooNormal}" ItemsSource="{Binding TreeviewChildNodeCollection}">
   // do something else here.
</HierarchicalDataTemplate>

<HierarchicalDataTemplate DataType="{x:Type FooList}" ItemsSource="{Binding TreeviewChildNodeCollection}">
  <ListView  ItemsSource="{Binding ListviewChildNodeCollection}">
   //use listview here
  </ListView>
</HierarchicalDataTemplate>
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top