To naprawdę zależy od tego, co próbujesz osiągnąć i od tego, ile infrastruktury już potrzebujesz, a także od łatwości, z jaką możesz znaleźć próbki, które ci pomogą. Zamierzam zadeklarować zainteresowanie tutaj, ponieważ byłem aktywnie zaangażowany w co najmniej jedną platformę MVVM i miałem wkład w inne za pośrednictwem grupy WPF Disciples, więc jestem nieco stronniczy. Mówiąc to, oto:
Microsofts MVVM Toolkit - to wciąż bardzo dużo w fazie alfa. Kiedy został pierwotnie wydany, zajęło mu to trochę dzikości ze względu na to, czego nie zrobił. Mówiąc to, MS chce ulepszyć ten framework, więc należy go obejrzeć - po prostu nie jest jeszcze gotowy.
Fundacja MVVM - wersja frameworka Josh Smitha. Josh jest jednym z ojców MVVM i był wielkim obrońcą i nauczycielem tego wzoru. W rezultacie wiele z tego, co można znaleźć w innych ramach, ma na sobie odciski palców Josha. Ramy te mają zapewnić podstawy MVVM, a nie rozwiązać niektóre bardziej ezoteryczne problemy. Początkowo było to przeznaczone tylko dla WPF, ale ludzie tacy jak Laurent Bugnion i ja dodaliśmy funkcjonalność / projekty, co oznacza, że będzie to również framework kompatybilny z Silverlight.
WAF - bez doświadczenia, więc nie mogę tego komentować Obawiam się.
MVVM Light - podejście Laurenta Bugnion, właśnie zaktualizowane do wersji 2. Jest to bardzo dobry framework, ale znowu nie ma on obejmować każdego aspektu aplikacji MVVM. Biorąc pod uwagę pochodzenie Laurenta, ma on bardzo silne wsparcie Silverlight i Blendability.
Aktualizacja Laurent właśnie poinformowała mnie, że wersje .NET 3.5 i .NET 4.0 są kompatybilne z funkcjami. Wau to go Laurent.
Cinch - doskonałe środowisko MVVM tylko dla WPF Sacha Barbera. Obejmuje to więcej niż ramy, o których mówiłem powyżej. Jest to doskonały framework i wykorzystuje koncepcje zawarte w doskonałym projekcie Billa Kempfa Onyx . Onyx ma uzupełniać frameworki MVVM i dodaje funkcjonalność, która zwykle była trudna dla ludzi w MVVM / WPF. Ponownie, pierwotnie przeznaczony wyłącznie do WPF, Onyx poczynił postępy w zakresie kompatybilności z SL - praca, z której jestem szczególnie dumny, że jestem w to zaangażowana.
Pryzmat - Znowu nigdy go nie użyłem, ale słyszałem o nim wiele dobrych rzeczy.
Ocean - Karl Shifflett, kierownik programu w zespole Cider, niedawno wydał w pełni funkcjonalną platformę WPF MVVM. Ponownie, jest to doskonała platforma i ma wiele do polecania.
Podsumowując, pobierz różne frameworki, spójrz na nie i sprawdź, który z nich najbardziej intuicyjnie pasuje do twojego sposobu myślenia i twoich wymagań. Jeśli uważasz, że możesz chcieć obsługiwać Silverlight z tej samej bazy kodu, wówczas frameworki tylko WPF powinny zostać zdyskontowane.