2016-05-19 12 views
-2

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

+0

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

+0

Vielen Dank für Ihren Kommentar - es klärt etwas für mich, aber leider beantwortet es meine Hauptfrage nicht. –

+0

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

Antwort

0

Die beste Art und Weise mit WPF und MVVM zu gehen,

Ich schlage vor, bevor Sie gehen durch die Grundlagen der MVVM starten. Ihre Referenz können Sie besser verstehen, here

+0

Vielen Dank für diesen Link! –

+0

Ich habe jetzt das Dokument gelesen, das Sie mehrmals referenziert haben, und es ist nützlich, WPF zu verstehen, aber leider wird meine Hauptfrage nicht beantwortet (und ich konnte die Antwort nirgends finden). –

0

Das bevorzugte UI Paradigma in WPF ist zu Registerkarten und Gitter in einem einzigen Fenster haben, so etwas wie dieses:

Comic Sans is not optional

Sie müssen nicht aufhören Dort kannst du sie so tief wie nötig verschachteln, um Klarheit zu schaffen.

+0

Danke, das ist es, was ich vorhabe: eine Tabbed-Schnittstelle. Grid "windows" und form "windows" sollten wirklich usercontrols in tab pages sein. –