WPF UserControl在设计模式下抛出异常

时间:2013-08-02 14:39:48

标签: wpf user-controls

我尝试使用UserControl创建自定义控件。当我将自定义控件放在窗口上时,它会显示一秒钟然后设计器崩溃,我得到了消息: 抛出异常

ArgumentNullException:值不能为null。 参数名称:sp

堆栈跟踪在调用ServiceProvider构造函数时显示错误。

知道这里发生了什么吗?我尝试在空白窗口上使用空白UserControl并得到相同的错误。 谢谢你的帮助。

2 个答案:

答案 0 :(得分:2)

在设计器中加载时,XAML设计器将调用UserControl的构造函数。 如果在构造函数或UserControl.Loaded中,则应跳过另一个未在设计模式下运行的方法。 为了避免这种情况,您可以在UserControl构造函数

中放置if条件,如下所示
if(DesignerProperties.GetIsInDesignMode(this)) 
return;
// another Method that Running in RunTime

WPF user control throws design-time exception

答案 1 :(得分:0)

在进一步搜索问题后,似乎这与解决方案中存在的installshield项目有关。如果我删除所有installshield项目,我不再得到例外。 这更像是一种解决方法而不是解决方案......