Ich muss die Listview-Ansicht auf eine Gridview setzen, die einen solchen komplexen Header hat (basierend auf einer 3-dimensionalen Objektliste, die ich erstellt habe):
%Vor%EDIT: Das ist mehr oder weniger mein Objektmodell
%Vor% Ich muss eine dynamische Liste von Measures
binden (das ist mein Level 0), dann eine dynamische Liste von Threshold
(level 1a ...) und für jeden Schwellwert die Werte 1 bis 4 anzeigen, wenn sie das sind! = 0
Wie wäre es mit so etwas:
%Vor%Sie müssen möglicherweise die Eigenschaften Value1 und Value2 in eine Auflistung konvertieren, um die Nicht-Null-Eigenschaften dynamisch anzuzeigen und den gleichen ListBox / StackPanel-Ansatz zu verwenden, mit dem die Schwellenwerte angezeigt wurden.
Dies gibt die Ausgabe:
Und nur um den Beitrag zu vervollständigen, hier ist der Code, den ich benutzt habe:
%Vor%Level 0 Ist ein ListView? Level 1A und Level 1b sind Gridviews, die Sie in zwei verschiedenen Templates in der Level 0 Listenansicht haben möchten. Dann sind Level A und Level b zwei weitere Rasteransichten innerhalb von 2 mehr Templates in Level 1a und Level 1b?
Sie können möglicherweise dasselbe Konzept, das diese verschachtelte GridView verwendet, in WPF konvertieren
Ich habe es selbst in wpf nicht ausprobiert, aber Rasteransichten schienen ähnlich aufgebaut zu sein. Verwenden Sie einfach Panels anstelle von Divs und weniger Kopfschmerzen, wenn Sie sich über Client / Server-Anrufe beschweren müssen.
Auch Datasets funktionieren schöner als Listen.
Hier ist ein Pseudo-Code, wie ich Nested Datasets vor
eingerichtet habe %Vor%Hast du darüber nachgedacht, wie es sich verhalten soll - dein Header ist das?
Es ist einfach genug, einen Header zu erstellen, der aussieht wie der, den Sie vorschlagen - Sie könnten ihn mit einigen Gittern programmatisch erstellen - aber das ist nur der Header. Sollten Sie die Größe auch ändern können, wie Sie es normalerweise mit einem Listenansicht-Header tun können?
Vielleicht suchen Sie etwas wie eine TreeListView?
Ich denke, das ist das, was ich nachher machen würde, um mehrdimensionale Daten anzuzeigen - es ist leicht zu verstehen und zu verwenden, wo eine benutzerdefinierte Listenansicht schwer zu implementieren sein kann, um sich richtig zu verhalten.
Tags und Links wpf c# binding wpfdatagrid