我的一个朋友创建了一个控件(Multi Select Combo Box)并将其编译成DLL。我在我的WPF窗口中将DLL添加到我的引用和命名空间中:
xmlns:mc="clr-namespace:MultiSelectComboBox;assembly=MultiSelectComboBox"
使用控件时:
<mc:MultiSelectUserControl Name="mscControl" />
问题是,一旦我添加了xaml来使用控件,窗口就会变成灰色并带有无效标记。 错误列表显示2个错误,即:
命名空间“MultiSelectUserControl”在命名空间“clr-namespace:MultiSelectComboBox; assembly = MultiSelectComboBox”中不存在。
和
找不到类型'mc:MultiSelectUserControl'。验证您是否缺少程序集引用,并且已构建所有引用的程序集。
但是如果我运行应用程序,控件可以正常工作。当这种情况不断发生时,设计GUI非常令人沮丧。我确实做过研究,但没有提供任何帮助。
为什么会发生这种情况,我做错了什么?
答案 0 :(得分:0)
完全同意feO2X: 错误背后的主要原因将始终是调用任何特定服务或任何运行时函数的一些代码(在用户控件的构造函数中),
如果有的话,将不允许用户控件在xaml设计中正确加载它。 所以我建议请问你的朋友他是否在他自己的用户控件的构造函数中进行了任何调用,然后他不应该在当前场景中执行此操作。他能做的是做一个额外的功能,放置所有代码(InitializeComponent除外)并在特定用户控件的加载事件中调用该particualr函数,并且在功能上也没有任何问题