Laden...

MVVM, Datagrid und Verschachtelte Objekte

Erstellt von Ezio vor 8 Jahren Letzter Beitrag vor 8 Jahren 1.142 Views
Ezio Themenstarter:in
189 Beiträge seit 2014
vor 8 Jahren
MVVM, Datagrid und Verschachtelte Objekte

Hallo Zusammen,

ich habe eine Liste von Objekten.
Diese haben zum einen fixe Eigenschaften, wie z.B. einen Namen.
Dann haben diese aber auch Eigenschaften die zwar für den aktuellen Datensatz statisch ist, aber bei einem anderen Datensatz anders aussieht (bzw. aussehen kann).
Diese variablen Eigenschaften können von den Basistypen string, int, bool, double sein.
Diese Eigenschaften sind als Dictionary im Objekt vorhanden und der Wert als Value des Dictionarys.

Wie bekomme ich es hin meine Liste von Eigenschaften mit als Header des DataGrids einzufügen und dann in den Zellen die Eigenschaft mit den Value zu verknüpfen?
Und das alles auch noch nach MVVM-Art?
Hat da jemand eine Idee und kann mir helfen?!

Vielen Dank.

Ezio

F
10.010 Beiträge seit 2004
vor 8 Jahren

Variable Eigenschaften heisst für mich schlechte bis gar keine Architektur und meist irgendwas aus VB6 herübergefrickelt.

Aber wenn du sowas machen willst, schau dir ICustomTypeDescriptor an.
Besser wäre es, das erst gar nicht so zu implementieren, es gibt immer einen anderen Weg.

Ezio Themenstarter:in
189 Beiträge seit 2014
vor 8 Jahren

Aus meiner Sicht geht es nicht anders bzw. ist dann eine schlechte Architektur. 😦
Danke. Ich werde mir mal darüber Gedanken machen ... .

Ezio Themenstarter:in
189 Beiträge seit 2014
vor 8 Jahren

Ich möchte nochmal verdeutlichen was ich will.

Das ist nur ein Beispiel:
Angenommen ich möchte Details von Schrauben anzeigen.
Dann hat das Objekt Schraube z.B. einen Namen, einen Typ (Schlossschraube, Holzschraube ...) und ein Material als fixe Eigenschaft.
Weiterhin hat das Objekt Schraube ein Dicitionary mit Gewindetypen als Key und ein bool Value ob die Schraube nun in diesem Gewindetyp verfügbar ist, wobei auch eine mehrfache Auswahl möglich ist.

Wäre diese Anzeige für nur einen Hersteller, könnte man ja sagen dass der Hersteller nur eine Auswahl an Gewinden produziert und das fest einprogrammieren.
Nun ist das Programm aber so konzipiert, dass ich mir für verschiedene Hersteller diese Aufstellung anzeigen lassen kann.
Ich weiß aber vorher nicht, welche Gewindetypen überhaupt möglich sein könnten.
Ich lese deshalb die Gewindetypen ein und möchte diese nun als Spalten im DataGrid anzeigen und einen Wert zuweisen können für eine spezielle Schraube.

Die geforderte Ausgabe ist: Name | Typ | Material | Gewindetyp1 | Gewindetyp2 | ...
Ich wüßte nicht, wie ich bei der geforderten Ausgabe das anders lösen soll.

F
10.010 Beiträge seit 2004
vor 8 Jahren

Durch Normalisierung in der DB und damit eben 1:n oder n:m Beziehungen.
Die Schrauben haben dann z.b. eine Auflistung von Gewindetypen.

Oder ganz auf relationale Systeme Verzichten und eine DocumentDB benutzen.