Есть ли где-нибудь руководство, показывающее пример использования ViewModels в приложении WP7?
Вы можете проверить EX14 Лорана Бюньона - Понимание паттерна MVVM - из Mix 10 .
Лоран является автором популярного MVVM Light Toolkit с поддержкой WP7
Вот еще пара постов, которые могут представлять интерес.
C # er: IMage: Объяснение модели модели представления (MVVM)
.NET на примере: использование MVVM Light для управления вьюером карт Windows Phone 7 / Silverlight 4
И в этом посте дается обзор некоторых доступных фреймворков MVVM.
JAPF »Архив блога» Откройте для себя и сравните существующие фреймворки MVVM!
Хотя MVVM действительно отличный шаблон (и он будет еще важнее с Silverlight 5!), Я бы действительно дважды подумал, подходит ли он для вашего приложения WP7.
Причины:
Нет свойства «Command» для ButtonBase (это SL3! Команда была новой в SL4).Поэтому нелегко использовать Commanding-Pattern.Вам необходимо использовать RelayCommands, DelegateCommands или аналогичные.
Нет командного шаблона вообще для элементов на панели приложения (ApplicationBarButton или ApplicationBarMenueItem).Даже с RelayCommands, поскольку ApplicationBarItems не являются производными от DependencyObject.:( (см. http://blog.galasoft.ch/archive/2010/04/09/using-commands-with-applicationbarmenuitem-and-applicationbarbutton-in-windows-phone-7.aspx)
Работа с фоновыми потоками, диспетчером и т. д. может быть очень громоздкой в сочетании с MVVM.
Это не такзначит, вы не должны использовать MVVM! Но внимательно проверьте, является ли MVVM преимуществом для вашего проекта или дополнительным бременем, которое усложняет зависимость.
HTH