Когда вы используете шаблон MVVM Visual Studio , тогда ваши ViewModels привязываются к DataContexts ваших представлений в App.xaml.cs примерно так:
MainView mainView = new MainView();
mainView.DataContext = new MainViewModel();
mainView.Show();
А если вы используете Библиотека составных приложений , то ваши View и ViewModel будут связаны друг с другом в вашем Bootstrapper / Container / ServerLocator и т. Д.
В любом случае, когда вы открываете эти проекты в Expression Blend и открываете файл View XAML, Expression blend не знает, к какому ViewModel принадлежит View , поскольку эта привязка выполняется в коде, как описано выше. экземпляры.
Вы, конечно, можете установить DataObjectProvider в своем XAML, чтобы Expression Blend знал, где получить свои данные для этого представления, но это нарушает MVVM и шаблон развязки, поскольку ваш вид теперь привязан к определенному ViewModel. Это как дизайнеры обычно работают с Expression Blend над проектами, которые представляют собой нечто большее, чем небольшая демонстрация?
Так что для тех из вас, кто использует шаблон MVVM и у кого есть дизайнеры, которые используют Expression Blend, как вы поддерживаете структуру привязки View / ViewModel так, чтобы Expression Blend могла знать, какой ViewModel принадлежит каким представлениям?