ListView mit TreeViewItems in XAML

8

Ich bin ziemlich neu in c #, das erste, was ich versuche zu machen ist ein ListView mit Datenbindungen, das in Ordnung gekommen ist.

Ich versuche jetzt, Elemente mit einem Twist-Button zu versehen, wenn das zugrundeliegende Modell irgendwelche Kinder hat (wie das TreeView ). Jedes der Kinder wird Spalten haben wie alle Elemente auf der obersten Ebene.

Wie würde ich das machen? Gibt es eine bereits bestehende Kontrolle? Wenn nicht, wäre ich besser dran, ein TreeView so anzuordnen, dass es wie ein ListView aussieht, oder ein ListView so anzuordnen, dass es wie ein TreeView aussieht?

Ich ging die Straße in diesem Lösung , die ein TreeView verkleidet, aber das Endergebnis sieht ziemlich schrecklich aus und die Überschrift ist eigentlich nur ein Element, also verlierst du alle netten Spaltengrößen und Spaltenknöpfe, die dich an die Spaltensortierung anschließen können Holen Sie sich in ListView , so dass die Route tatsächlich scheint, als wäre es mehr Arbeit.

Ich habe bemerkt, dass der neue Task-Manager genau die Kontrolle hat, die ich zu erstellen versuche. Ich weiß nicht, wie das gemacht wurde. wahrscheinlich in C, obwohl.

    
GP89 21.01.2013, 17:42
quelle

3 Antworten

10

Microsoft stellt ein Muster zur Verfügung, das anscheinend das ist, wonach Sie suchen. Eine Beschreibung des Beispiels finden Sie hier:

Ссылка

Wenn Sie das Beispiel erstellen und ausführen, erhalten Sie etwas Ähnliches:

In diesem Beispiel wurde eine große Anzahl von Vorlagen erstellt, damit Sie die Dinge so gestalten können, wie Sie es möchten.

    
Evil Closet Monkey 23.01.2013 23:25
quelle
8

Es wäre wahrscheinlich einfacher zu Style the ListView , ich hatte ein schnelles Spiel und schaffte es, ein Modell in etwa 10 Minuten zu erstellen.

Offensichtlich werden Sie mehr hinzufügen wollen, aber es scheint ziemlich einfach zu sein, ein TreeView in der Spalte ListView zu hosten.

Hier ist der Mock-up-Code, wenn Sie auf bauen möchten.

Xaml:

%Vor%

Code: Tut mir leid, dass das Laden der Baumstruktur-Mockup-Daten:)

%Vor%

Viel Glück:)

    
sa_ddam213 30.01.2013 21:51
quelle
3

Was Sie beschreiben, klingt ein wenig wie eine TreeListView, und wenn Sie "WPF TreeListView" googlen, werden Sie einige Lösungen sehen, die für Sie gut sind. Ich habe eine von Telerik verwendet, aber je nachdem, wie kompliziert Ihre Anforderungen sind, ist es möglicherweise zu viel.

Wenn Sie nur eine Unterebene wie das angefügte Bild haben möchten, möchten Sie vielleicht Ihre eigenen mit einer ListView mit einem komplexen DataTemplate für die erste Spalte rollen, die eine Expander-Schaltfläche und eine einfache ListBox zeigen würde, die an die untergeordneten Elemente gebunden ist Gegenstände.

Ähnlich wie die Antwort hier , außer dass Ihre Zelle ein Kontrollkästchen hat formatiert, um wie der Pfeil, der Text für das Element und eine untergeordnete ListBox zu aussehen. Dann binden Sie die Sichtbarkeit der untergeordneten ListBox an den Status des Kontrollkästchens.

    
Paul Hoenecke 23.01.2013 23:09
quelle

Tags und Links