Я использую Blend для пользовательского интерфейса своих проектов начиная с версии 1. Поскольку моя цель состоит в том, чтобы полностью интегрировать дизайнера в проект, я пробовал все, что мешает достижению этой цели. Не зная о MVVM в течение некоторого времени, я, естественно, пришел к тому же выводу и делал ViewModels, не зная, что для них существует шаблон. Теперь с помощью других, которые работают над MVVM, все лучше и лучше. Сейчас я разработал 3 приложения с богатым пользовательским интерфейсом и функциональностью, где весь пользовательский интерфейс был сделан в Blend.
Прочитайте статью Джоша Смита на MSDN, посмотрите на работу Джейсона Долингера и работу Карла Шиффлетта, чтобы упомянуть лишь некоторые из них.
Посмотрите внимательно на использование ICommand, INotifyPropertyChanged, ObservableCollections.
Также обратите внимание на то, как вы можете манипулировать элементами управления из вашей ViewModel. Как пример, есть ICollectionView. Предположим, у вас есть список животных, и у вас есть набор типов, по которым вы хотите их фильтровать (птицы, млекопитающие и т. Д.)
Используя ICommand и ICollectionView, вы можете предоставить достаточно элементов управления, чтобы дизайнер мог создать список для отображения животных и меню для отображения списка фильтров. В ICollectionView достаточно функциональности, чтобы знать, что такое текущий выбор, и если у вас были команды на основе ICommand для «SortByBird», «SortByMammal» и т. Д., То, когда дизайнер создавал меню, оно (при условии, что контекст окна был вашей ViewModel это окно) предоставит разработчику соответствующие параметры для привязки.
В настоящее время я работаю с другой командой в моей компании, объясняю, как были созданы мои проекты, и они положительно реагируют на новую роль дизайнера, использующего Blend.