Ich plane eine WPF-Anwendung, die
wirdHier ist, wie ich vorgehen möchte: In einer Kundendateneingabeansicht würde ich den Datenkontext einstellen:
%Vor%und fügen Sie dann ein Element in meinem XAML als Platzhalter für das Formular ein:
%Vor%Dann möchte ich in meinem ModelView keine statischen Eigenschaften haben, aber ich möchte das XAML als ein erstelltes HTML-Steuerelement in ASP.NET auf diese Weise erstellen:
%Vor%und auf diese Weise erstellen Sie das Grid basierend auf der Sammlung von Daten (Vorname, Nachname) und Metadaten (Feldbezeichnung, Feldname, Feldhilfetext, Feldanzeigeordnung usw.), die das ViewModel aus dem Model.
Sie müssen Datenvorlagen für die verschiedenen Felddatentypen schreiben, damit WPF die Art der Anzeige Ihrer Daten abhängig von ihrem Typ auswählt. etwas von diesem Format:
HINWEIS: Dies ist nicht WPF nur Pseudocode
%Vor% Es muss kein primitiver Typ sein. Dies kann ein Email
, DateApproved
oder sogar ein Url
sein. z.B.
.. etc ...
Aktualisieren
Sehen Sie sich dieses WPF Dynamic UI-Beispiel auf MSDN an: Dynamische Dateneingabe mit WPF und LINQ
Sie müssen für jeden Feldtyp ein DataTemplate einrichten, zB Date, String, Bool. Dadurch wird festgelegt, wie jedes Feld angezeigt wird.
Sie könnten dann die Spalten für eine Datenbankabfrage verwenden, um eine Liste von Objekten zu generieren und sie in ein ItemsControl zu legen.
%Vor%Jedes Element im Elementsteuerelement wird basierend auf dem DataTemplate für diesen Typ angezeigt.
Innerhalb von ColumnDef können Sie Reflection verwenden, um das Datenobjekt mit Änderungen von den UI-Steuerelementen zu aktualisieren. Sie können die Änderungen dann auf die Datenbanken anwenden, wenn der Benutzer speichert.