2013-08-02 2 views
0

Я пытаюсь создать пользовательский элемент управления с помощью UserControl. Когда я бросаю пользовательский элемент управления в окне, он отображается на секунду, а затем появляется конструктор, и я получаю сообщение: Исправлено исключениеWPF UserControl вызывает исключение в режиме разработки

ArgumentNullException: Значение не может быть равно null. Имя параметра: sp

Трассировка стека показывает ошибку при вызове конструктора ServiceProvider.

Любая идея, что здесь происходит? Я попробовал это с пустым UserControl в пустое Окно и получил ту же ошибку. Спасибо за помощь.

+2

Мы не можем помочь вам без источников. –

+0

Создайте UserControl: UserControl1, создайте Window: Window1, отмените UserControl1 на Window1. – amnesyc

ответ

0

После дальнейшего устранения проблемы, похоже, что это связано с наличием проектов установки в решении. Если я удалю все проекты installshield, я больше не получаю исключение. Это скорее обходное решение, чем решение, хотя ...

1

Дизайнер XAML будет вызывать конструктор UserControl при загрузке в конструктор. Если в конструкторе или UserControl.Loaded есть еще один метод, который не работает в режиме разработки, следует пропустить. Для того, чтобы избежать этого можно поместить, если условие следующим образом в конструкторе UserControl

if(DesignerProperties.GetIsInDesignMode(this)) 
return; 
// another Method that Running in RunTime 

WPF user control throws design-time exception

Смежные вопросы