Благодаря рекомендации, приведенной выше, я начал исследовать конструктор моей ViewModel. Хотя у меня не было ошибок, я обнаружил, что у belnd были проблемы со слушателями и обработчиками событий.
Я использовал
if (IsInDesignMode)
{
//populate values here for blend
}
else
{
//runtime initiation
}
для заполнения некоторых значений времени проектирования. Я бы инициировал значения в модели, установив их свойства. Это было нормально, пока я не начал добавлять более сложные процедуры обработки событий, основанные на изменениях свойств.
Чтобы исправить это и восстановить мою «смешиваемость», я сделал две вещи!
- Установите личные поля, а не свойства в разделе IsDesignMode. Это позволяет избежать событий PropertyChanged.
- Добавлено обнаружение IsInDesignMode в обработчиках событий, которые оставались проблемой и пропускали любое каскадное обновление.
Надеюсь, это поможет!