Это действительно зависит от того, чего вы пытаетесь достичь, и от того, сколько инфраструктуры вы хотите создать, плюс от того, с какой легкостью вы сможете найти образцы, которые вам помогут. Я собираюсь заявить об интересе здесь, потому что я активно участвовал по крайней мере в одной платформе MVVM, и я принимал участие в других через группу Disciples WPF, так что я немного предвзят. Сказав это, здесь идет:
Microsoft MVVM Toolkit - это все еще очень в альфа-стадии. Когда это было первоначально выпущено, это взяло немного дикости от Disciples из-за того, что это не сделало. Говоря об этом, MS надеется улучшить этот фреймворк, чтобы его можно было посмотреть - он еще не готов.
Фонд MVVM - версия фреймворка Джоша Смита. Джош - один из отцов MVVM, и он был большим сторонником и учителем модели. В результате у многих из того, что вы найдете в других структурах, есть отпечатки пальцев Джоша. Эта структура предназначена для предоставления основ MVVM, а не для решения некоторых более эзотерических проблем. Первоначально это было предназначено только для WPF, но такие люди, как Лоран Бюньон и я, добавили функциональность / проекты, которые означают, что это будет также совместимая с Silverlight инфраструктура.
WAF - нет опыта, поэтому я не могу комментировать это, я боюсь.
MVVM Light - Laurent Bugnion берет его и только что обновил до версии 2. Это очень хорошая структура, но опять-таки она не предназначена для охвата всех аспектов MVVM-приложений. Учитывая опыт Лорана, в нем очень сильная поддержка Silverlight и Blendability.
Обновление Лоран только что сообщил мне, что версии .NET 3.5 и .NET 4.0 совместимы по функциям. Вау, чтобы пойти Лоран.
Cinch - превосходный фреймворк MVVM для Sacha Barber. Это охватывает больше вопросов, чем рамки, о которых я говорил выше. Это отличная структура, в которой используются концепции, описанные в отличном проекте Билла Кемпфа « Оникс ». Onyx предназначен для дополнения сред MVVM и добавляет функциональность, которая обычно была трудной для людей в MVVM / WPF. Опять же, изначально предназначенный только для WPF, Onyx усовершенствовал совместимость с SL - работа, которой я особенно горжусь.
Призма - Опять же, я никогда не использовал это, но я слышал много хорошего об этом.
Оушен - Карл Шиффлетт, менеджер программы в команде Cider, недавно выпустил полнофункциональную среду WPF MVVM. Опять же, это отличная структура и есть много, чтобы рекомендовать ее.
Суть в том, что скачайте различные фреймворки, посмотрите на них и определите, какой из них наиболее интуитивно соответствует вашему мышлению и вашим требованиям. Если вы считаете, что вам может потребоваться поддержка Silverlight из той же кодовой базы, то для платформ WPF only следует отказаться.