【发布时间】:2011-08-20 09:00:36
【问题描述】:
如果我创建 WPF 用户控件,它会自动出现在 Visual Studio 工具箱中。
有没有办法让其他控件自动出现在 Visual Studio 工具箱中?
相反,有没有办法从工具箱中隐藏用户控件?
【问题讨论】:
标签: wpf visual-studio visual-studio-2010 wpf-controls
如果我创建 WPF 用户控件,它会自动出现在 Visual Studio 工具箱中。
有没有办法让其他控件自动出现在 Visual Studio 工具箱中?
相反,有没有办法从工具箱中隐藏用户控件?
【问题讨论】:
标签: wpf visual-studio visual-studio-2010 wpf-controls
您可以右键单击工具箱并选择 Choose Items... 然后从那里您将看到一个对话框,允许您选择要显示或隐藏的控件.
如果您想弄清楚如何为您提供控件的第三方执行此操作,请查看下面的评论,以查看描述打包控件的 MSDN 文章: http://msdn.microsoft.com/en-us/library/ms165358.aspx
【讨论】:
自动填充描述为here(在末尾),但总而言之,您可以将DesignTimeVisible(false) 添加到您的 UserControl 以防止它被添加到工具箱中。
您的控件应该像您的用户控件一样添加,假设它们满足上面链接末尾的要求,即:
出现在自动填充中 工具箱过程一个类型必须派生 来自 FrameworkElement 和:
是公共的并且有一个默认的公共或内部构造函数,或者是 内部并具有默认值 公共或内部构造函数
从 Window 或 Page 派生的类型被忽略
其他.exe项目中的FrameworkElements被忽略
仅当活动设计器处于活动状态时才会显示内部类 对于同一项目中的项目
工具箱不考虑好友程序集 自动填充
如果您正在构建可重用控件(您的最终用户将简单地添加对您的程序集的引用),那么您需要告诉 Visual Studio 它应该将您的控件加载到工具箱中。有一个关于 WinForms 控件的教程here,但概念是相同的。可以在here 找到 VSIX 安装程序教程。
很多资源都适用于旧版本的 Visual Studio,但同样的概念也应该适用。您只需在适当的地方更新版本信息。
【讨论】: