Ich muss unsere zukünftigen Geschäftsanwendungen mit WPF mit MVVM erstellen.MVVM Architektur
Meine typische Anwendung besteht aus mehreren Fenstern/Tab-Seiten mit Gittern und Form-Style-Fenstern. Sowohl Bearbeitungsfenster als auch Rasterfenster können je nach dem angemeldeten Benutzer unterschiedlich sein, so dass die meisten von ihnen datengesteuert sind. Und ich versuche, so wenig Code wie möglich zu schreiben, da nicht geschriebener Code der einzige garantiert fehlerfrei ist.
So, jetzt meine Frage: Wie strukturiert man das Ganze?
Die Ansicht ist mir klar - ist mit XAML oder Code erstellt.
Das ViewModel sollte die Geschäftslogik und die Validierungsregeln enthalten und die Daten anzeigen lassen und die Befehle für die Aktionen enthalten.
Also, wo die Daten zu setzen? Ein select gibt eine DataTable zurück. Sollte diese Datentabelle durch das ViewModel für die View-Fenster für das Raster freigelegt werden? Und für die Formularfenster? Soll die einzelne DataRow durch das ViewModel zur Ansicht freigelegt werden? Werden weitere Hilfs- oder Zwischenklassen benötigt?
Vielen Dank für einen nützlichen Vorschlag!
Wolfgang
Ich schreibe gerne für WPF-Anfänger, und Sie könnten daran interessiert sein, mit dieser SO-Antwort über [Übergang von WinForms zu WPF] (http://StackOverflow.com/questions/15681352/transitioning-from-windows-forms) zu beginnen -to-wpf/15684569 # 15684569) – Rachel
Vielen Dank für Ihren Kommentar - es klärt etwas für mich, aber leider beantwortet es meine Hauptfrage nicht. –
Das ViewModel sollte die Daten abrufen und so aufbereiten, dass sie von der View problemlos konsumiert werden können, z. B. eine ObservableCollection von Elementen, die jedes Raster darstellen. Schließlich ist es der Zweck, die Sicht zu modellieren. Ich würde sehr empfehlen, kein DataRow-Objekt zu verwenden und stattdessen bestimmte Klassen für Ihre Objekte zu schreiben. Wenn Sie ein Popup, Fenster, Control usw. haben, das ein Objekt anzeigen soll, können Sie ihm das Objekt übergeben, das es anzeigen soll. –
Rachel