Мне кажется, что я все еще вижу много рекомендаций и советов, утверждающих, что подход с ориентацией на первый взгляд - это лучший способ получить Blendability в вашем приложении. Однако с d: DataContext, d: DesignData и d: DesignInstance разве не легко решить проблему смешиваемости независимо от того, как ваши представления и модели представления соединены вместе?
С DesignInstance вы просто выбираете конкретный тип ViewModel, который будет использоваться в конструкторе, и это как если бы у вас была композиция с первым просмотром. Фактически, использование DesignInstance фактически позволяет лучше разделять задачи, чем делать сальто назад IsInDesignMode или создавать конструктор по умолчанию только для поддержки проектирования в вашей реальной модели представления - вы можете наследовать от своего типа модели представления или от общего типа интерфейса создайте простую «дизайнерскую» модель представления, и она полностью ограничена дизайнером. С DesignData вам даже не нужно этого делать: вы можете просто создать ложную модель представления декларативно в XAML.
Да, выполнение перечисленных выше действий сопряжено с небольшими первоначальными затратами, но в результате получается более четкое разделение, чем то, что вы получите, смешав данные проектирования с вашей реальной моделью представления. Я что-то упускаю? Почему смешиваемость до сих пор так важна?