【发布时间】:2014-09-16 20:40:30
【问题描述】:
我的一个朋友创建了一个控件(多选组合框)并将其编译为 DLL。我已将 DLL 添加到我的 WPF 窗口中的引用和命名空间中:
xmlns:mc="clr-namespace:MultiSelectComboBox;assembly=MultiSelectComboBox"
使用控件时:
<mc:MultiSelectUserControl Name="mscControl" />
问题是,一旦我添加了 xaml 以使用该控件,窗口就会变灰并显示无效标记。 错误列表显示2个错误,即:
命名空间“clr-namespace:MultiSelectComboBox;assembly=MultiSelectComboBox”中不存在名称“MultiSelectUserControl”。
和
找不到类型“mc:MultiSelectUserControl”。确认您没有丢失程序集引用并且所有引用的程序集都已构建。
但如果我运行该应用程序,该控件将完美运行。当这种情况不断发生时,它只是非常令人沮丧地设计 GUI。我确实对此进行了研究,但没有任何帮助。
为什么会发生这种情况,我做错了什么?
【问题讨论】:
-
尝试清理您的解决方案,重建项目并重新启动 Visual Studio。
-
我已经这样做了好几次了。清理、重建、重新启动 VS 并创建了一个全新的项目,但还是一样
-
解决方案是否在网络文件夹中?
-
@Calvin Smith:目前解决方案在本地驱动器上的“我的文档”中。
-
是否有无法在 VS 设计器中执行的代码(即在
MultiSelectComboBox的构造函数中)?您必须知道 VS 以及 Blend 设计器只是您的控件的特殊运行时 - 如果您这样做,例如服务调用这些将导致异常,这将阻止设计师在设计时向您显示布局。
标签: c# wpf wpf-controls