创建 WPF 工具箱控件
使用 WPF (Windows Presentation Framework) 工具箱控件模板,可以创建在安装扩展时自动添加到工具箱的 WPF 控件。 本演练演示如何使用模板来创建可分配给其他用户的工具箱控件。
创建工具箱控件
使用 WPF 工具箱控件创建扩展
创建名为
MyToolboxControl
的 VSIX 项目。 可以通过在新建项目对话框中搜索“vsix”,找到 VSIX 项目模板。项目打开时,添加名为
MyToolboxControl
的 WPF 工具箱控件项模板。 在“解决方案资源管理器”中,右键单击项目节点并选择“添加”>“新建项”。 在 添加新项对话框中,转到 Visual C#>扩展性,并选择 WPF 工具箱控件。 在窗口底部的名称字段中,将命令文件名更改为 MyToolboxControl.cs。该解决方案现在包含一个用户控件、一个将控件添加到工具箱的
ProvideToolboxControlAttribute
RegistrationAttribute 和一个用于部署的 VSIX 清单中的 Microsoft.VisualStudio.ToolboxControl 资产条目。
创建控件 UI
在设计器中打开 MyToolboxControl.xaml。
排列网格布局。 选择 Grid 控件时,蓝色控件条将显示在网格的顶部边缘和左侧边缘。 通过单击条形图,可以将行和列添加到网格中。
将子控件添加到网格中。 可以通过将子控件从工具箱拖动到网格的某个部分,或者在 XAML 中设置其
Grid.Row
和Grid.Column
属性,可以定位子控件。 以下示例在网格的第一行添加了两个标签,在第二行添加了一个按钮。<Grid> <Label Grid.Row="0" Grid.Column="0" Name="label1" /> <Label Grid.Row="0" Grid.Column="1" Name="label2" /> <Button Name="button1" Click="button1_Click" Grid.Row="1" Grid.ColumnSpan="2" /> </Grid>
重命名控件
默认情况下,控件将以 MyToolboxControl 的形式出现在名为 MyToolboxControl.MyToolboxControl 的组中的工具箱中。 可在 MyToolboxControl.xaml.cs 文件中更改这些名称。
在代码视图中打开 MyToolboxControl.xaml.cs。
找到
MyToolboxControl
类并将其重命名为 TestControl。 (执行此操作的最快方法是重命名类,然后从上下文菜单选择重命名,并完成步骤。 (有关重命名命令的详细信息,请参阅重命名重构 (C#)。)转到
ProvideToolboxControl
属性,并将第一个参数的值更改为测试。 这是将包含工具箱中控件的组的名称。生成的代码片应如下所示:
[ProvideToolboxControl("Test", true)] public partial class TestControl : UserControl { public TestControl() { InitializeComponent(); } }
生成、测试和部署
调试项目时,应会在 Visual Studio 实验实例的工具箱中找到安装的控件。
生成并测试控件
重新生成项目并启动调试。
在 Visual Studio 的新实例中,创建 WPF 应用程序项目。 确保 XAML 设计器处于打开状态。
在“工具箱” 中查找控件,并将其拖动到设计图面上。
开始调试 WPF 应用程序。
验证控件是否显示。
部署控件
生成测试的项目后,可以在项目的 *\bin\debug* 文件夹中找到 .vsix 文件。
可以通过双击 .vsix 文件,并按照安装过程将其安装在本地计算机上。 若要卸载控件,请转到工具>扩展和更新并查找控件扩展,然后单击卸载。
将 .vsix 文件上传到网络或网站。
若将文件上传到 Visual Studio Marketplace 网站,则其他用户可使用 Visual Studio 中的工具>扩展和更新联机查找控件并进行安装。