我正在尝试使用 UserControl 创建自定义控件。当我将自定义控件放在窗口上时,它会显示一秒钟,然后设计器崩溃并且我收到消息:抛出异常
ArgumentNullException:值不能为空。参数名称:sp
堆栈跟踪显示调用 ServiceProvider 构造函数时出错。
知道这里发生了什么吗?我在一个空白窗口上用一个空白 UserControl 尝试了这个并得到了同样的错误。谢谢你的帮助。
我正在尝试使用 UserControl 创建自定义控件。当我将自定义控件放在窗口上时,它会显示一秒钟,然后设计器崩溃并且我收到消息:抛出异常
ArgumentNullException:值不能为空。参数名称:sp
堆栈跟踪显示调用 ServiceProvider 构造函数时出错。
知道这里发生了什么吗?我在一个空白窗口上用一个空白 UserControl 尝试了这个并得到了同样的错误。谢谢你的帮助。
XAML 设计器将在设计器中加载时调用 UserControl 的构造函数。如果在构造函数或 UserControl.Loaded 中是另一个不在设计模式下运行的方法,则应跳过。为了避免这种情况,您可以在 UserControl 构造函数中放置如下 if 条件
if(DesignerProperties.GetIsInDesignMode(this))
return;
// another Method that Running in RunTime
在进一步搜索该问题后,这似乎与解决方案中存在 installshield 项目有关。如果我删除所有 installshield 项目,我不会再遇到异常。虽然这更像是一种解决方法而不是解决方案......