Ich habe eine richtige Barney bekommen meinen Kopf herum, wie alles zusammenpasst mit dem MVVM-Muster. In der Praxis scheint alles ganz einfach zu sein, aber wenn ich versuche, es zu implementieren, scheine ich verschiedene andere Regeln zu brechen, mit denen ich versuche zu kodieren.MVVM - Was sollte was enthalten? Was sollte was erstellen?
Nur als Nebenbemerkung, ich versuche, das Muster mit Flex, nicht Silverlight oder WPF zu implementieren, also wenn jemand mit guten Gründen kommen kann, warum dies nicht getan werden sollte, dann möchte ich sie hören .
Ich habe ein Problem, wo ich mehrere Ansichten habe. Manchmal muss ich zwei Ansichten auf der Seite gleichzeitig anzeigen; manchmal wechsle ich zurück zu einer einzigen Ansicht. In meinem normalen Flex-Gehirn hätte ich eine Hauptansicht mit einem Code-Behind, der alle meine anderen Ansichten enthielt (ebenso wie Code-Behinds). Diese Hauptansicht würde dann die anderen individuellen Ansichten wechseln.
Wenn ich versuche, dies in MVVM zu implementieren, versuche ich mich an die Prinzipien von MVVM zu halten, indem ich Bindung verwende, die meine Views
von der ViewModels
entkoppelt. Nehmen wir an, ich erstelle einen ViewModel
für den anwendungsweiten Zustand und mein ApplicationView
bindet an diese Daten und macht das gesamte Umschalten der Unteransichten.
Nun, wo soll ich meine View-Modelle für meine Subviews erstellen? Ich habe versucht, innerhalb der ApplicationView
- das schien nicht richtig. Und dann habe ich versucht, außerhalb der Anwendungsansicht und Übergabe und Instanz davon in die ApplicationView
und dann meine Untermodelle eine Bindung zu ihm. Fehle ich etwas? Keine dieser Methoden scheint zu dem Zweck zu passen, dies zu entkoppeln.
Alle guten Bücher oder Links, die dieses Problem erklären, würden sehr geschätzt werden.
Cheers, James
OK so denke ich, das ist meine Verwirrung aufgeklärt hat, wie ich nicht sicher war, ob die Ansichten, die einen Verweis auf das Ansichtsmodell enthalten sollte die ist, wie Sie in der ersten beschreiben z. Ich werde das für ein paar Tage offen lassen, um zu sehen, ob jemand anderes Kommentare abgibt, aber das ist im Grunde das, wonach ich gesucht habe. danke –
Die einzigen "Verweise", die die Ansicht auf das ViewModel haben sollte, sollten deklarative Bindungen sein. Das Ziel bei MVVM ist, dass sowohl das View- als auch das ViewModel unabhängig voneinander agieren. – markti