Es hängt wirklich davon ab, was Sie erreichen möchten und wie viel Infrastruktur Sie bereits benötigen, sowie von der Leichtigkeit, mit der Sie Beispiele finden können, die Ihnen helfen. Ich werde hier ein Interesse anmelden, da ich aktiv an mindestens einem MVVM-Framework beteiligt war und über die WPF Disciples-Gruppe Beiträge zu anderen geleistet habe, daher bin ich ein bisschen voreingenommen. Das heißt hier:
Microsoft MVVM Toolkit - dies befindet sich noch im Alpha-Stadium. Als es ursprünglich veröffentlicht wurde, war es den Jüngern ein bisschen grausam, weil es nicht tat. Mit diesen Worten möchte MS dieses Framework verbessern, damit es zu sehen ist - es ist einfach noch nicht fertig.
MVVM Foundation - ah Josh Smiths Version des Frameworks. Josh ist einer der Väter von MVVM und war ein großer Verfechter und Lehrer des Musters. Infolgedessen weist vieles, was Sie in anderen Frameworks finden, überall Joshs Fingerabdrücke auf. Dieses Framework soll die Grundlagen von MVVM vermitteln und nicht einige der esoterischeren Probleme ansprechen. Ursprünglich war dies nur für WPF gedacht, aber Leute wie Laurent Bugnion und ich haben Funktionen / Projekte hinzugefügt, die bedeuten, dass dies auch ein Silverlight-kompatibles Framework sein wird.
WAF - keine Erfahrung damit, also kann ich es leider nicht kommentieren.
MVVM Light - Laurent Bugnion hat es übernommen und gerade auf Version 2 aktualisiert. Dies ist ein sehr gutes Framework, aber auch hier ist nicht beabsichtigt, jeden einzelnen Aspekt von MVVM-Anwendungen abzudecken. Angesichts des Hintergrunds von Laurent bietet es eine sehr starke Unterstützung für Silverlight und Blendability.
Update Laurent hat mich gerade darüber informiert, dass die Versionen .NET 3.5 und .NET 4.0 funktionskompatibel sind. Wau, Laurent zu gehen.
Cinch - Sacha Barbers exzellentes MVVM-Framework nur für WPF. Dies deckt mehr Bereiche ab als die Rahmenbedingungen, über die ich oben gesprochen habe. Es ist ein ausgezeichnetes Framework und nutzt die Konzepte von Bill Kempfs ausgezeichnetem Onyx- Projekt. Onyx soll MVVM-Frameworks ergänzen und Funktionen hinzufügen, die für Benutzer in MVVM / WPF normalerweise schwierig sind. Onyx, ursprünglich nur für WPF gedacht, hat die SL-Kompatibilität wieder aufgenommen - eine Arbeit, an der ich besonders stolz bin.
Prisma - Ich habe es wieder nie benutzt, aber ich habe viele gute Dinge darüber gehört.
Ocean - Karl Shifflett, Programmmanager im Cider-Team, hat kürzlich ein voll funktionsfähiges WPF MVVM-Framework veröffentlicht. Auch dies ist ein ausgezeichneter Rahmen und hat viel zu empfehlen.
Unter dem Strich laden Sie die verschiedenen Frameworks herunter, schauen Sie sie sich an und finden Sie heraus, welches am intuitivsten zu Ihrer Denkweise und Ihren Anforderungen passt. Wenn Sie der Meinung sind, dass Sie Silverlight aus derselben Codebasis unterstützen möchten, sollten die WPF-Frameworks nur rabattiert werden.