我有一些我在ProjectA中创建的UserControl.我有一个ProjectB,它有一个我想要控件的窗体.这两个项目都在一个解决方案中.从ProjectB引用了ProjectA,因此它可以"看到"UserControls.
但是,UserControls不会显示在工具箱中,以便我拖动到Windows窗体.
我试过重建.我还删除了'bin'目录以强制重建所有.
如何让VS2008用我的UserControls填充工具箱?
检查此设置:
工具>选项> Windows窗体设计器>常规:AutoToolboxPopulate
为此,应设置为True.
构建您的项目以确保它编译.
使用您希望用户控制的表单,打开工具箱,右键单击并选择"选择项目"
浏览到您在步骤1中编译的.exe或dll.
确保您的用户控件旁边有一个勾号,然后按确定.
您的用户控件应出现在工具箱中,因此将其拖到表单上.
这是根据Calanus对类似问题的回答改编的.
在我的例子中,已经设置了AutoToolboxPopulate(Visual C#2010 Express).
但是,我必须从工具箱的属性(右键单击)激活"全部显示"才能实际看到我的新用户控件.
到目前为止,我没有在工具箱中显示的用户控件没有问题.构建项目,它只是显示出来.然后今天不工作.经过搜索,我经历了以下但仍然没有快乐.
工具>选项> Windows窗体设计器>常规:AutoToolboxPopulate
工具>选项>文本编辑器> XMAL>其他:AutoToolboxPopulate
将VS设置重置为默认值
因此,经过几个小时的努力试图让它工作没有成功,我创建了一个新的WPF Windows项目接受默认名称并添加了一个usercontrol.构建项目并且用户控件一如既往地出现.
然后我认为我的项目或wpf窗口文件可能有问题.删除了项目,创建了一个新项目并添加了一个新控件.建造了这个项目,但它没有用.
我唯一不同的是为项目选择一个名称,我在名称"WPF Application"中包含了一个空格.
再次删除了项目并再次创建了一个名为"WPFApplication"的新项目,没有空格并添加了用户控件.构建它并且用户控件出现了.
如果您希望在构建时在工具箱中自动显示usercontrol,请不要在项目名称中使用空格.希望这篇文章能为其他人节省大量时间.
用户控件可能未显示在工具箱中的另一个原因是它们没有默认构造函数.
还要仔细检查您的用户控件是否具有有效的命名空间.
我刚刚发现没有命名空间的控件没有放在ToolBox中.