Основная причина сбоя Blend заключается в том, что при инициализации компонентов пользовательского интерфейса он фактически запускает их конструктор, который может иметь некоторый код, например, для доступа к базе данных, а Blend не поддерживает доступ к БД, поэтому может произойти сбой.
Есть два способа найти потенциальную проблему.
Закомментируйте весь код в конструкторе ваших элементов пользовательского интерфейса, кроме InitializeComponent (), чтобы найти проблемный код
Или
Прикрепите Visual Studio Debugger к Blend, а затем пересоберите проект или откройте XAML-файл, который очищает blend
. Для того, чтобы выполнить 2-й вариант, вы должны перейти в Debugger -> присоединиться к процессу -> выбрать Blend из списка.
Когда вы идентифицируете код, который дает сбой Expression Blend, просто есть оператор if, который прекратит выполнение кода, если смесь пытается его выполнить, и если он не просто запустит его.Так что-то вроде этого:
if(DesignerProperties.IsInDesignModeProperty)
{
// This code will run when Blend renders the controls
}
else
{
// This code will run when you are running application on it's own
}
Надеюсь, это поможет.