创建 WPF 工具箱控件

使用 WPF (Windows Presentation Framework) 工具箱控件模板,可以创建在安装扩展时自动添加到工具箱的 WPF 控件。 本演练演示如何使用模板来创建可分配给其他用户的工具箱控件。

创建工具箱控件

使用 WPF 工具箱控件创建扩展

  1. 创建名为 MyToolboxControl 的 VSIX 项目。 可以通过在新建项目对话框中搜索“vsix”,找到 VSIX 项目模板。

  2. 项目打开时,添加名为 MyToolboxControlWPF 工具箱控件项模板。 在“解决方案资源管理器”中,右键单击项目节点并选择“添加”>“新建项”。 在 添加新项对话框中,转到 Visual C#>扩展性,并选择 WPF 工具箱控件。 在窗口底部的名称字段中,将命令文件名更改为 MyToolboxControl.cs

    该解决方案现在包含一个用户控件、一个将控件添加到工具箱ProvideToolboxControlAttribute RegistrationAttribute 和一个用于部署的 VSIX 清单中的 Microsoft.VisualStudio.ToolboxControl 资产条目。

创建控件 UI

  1. 在设计器中打开 MyToolboxControl.xaml

    此设计器显示包含 Button 控件的 Grid 控件。

  2. 排列网格布局。 选择 Grid 控件时,蓝色控件条将显示在网格的顶部边缘和左侧边缘。 通过单击条形图,可以将行和列添加到网格中。

  3. 将子控件添加到网格中。 可以通过将子控件从工具箱拖动到网格的某个部分,或者在 XAML 中设置其 Grid.RowGrid.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 文件中更改这些名称。

  1. 在代码视图中打开 MyToolboxControl.xaml.cs

  2. 找到 MyToolboxControl 类并将其重命名为 TestControl。 (执行此操作的最快方法是重命名类,然后从上下文菜单选择重命名,并完成步骤。 (有关重命名命令的详细信息,请参阅重命名重构 (C#)。)

  3. 转到 ProvideToolboxControl 属性,并将第一个参数的值更改为测试。 这是将包含工具箱中控件的组的名称。

    生成的代码片应如下所示:

    [ProvideToolboxControl("Test", true)]
    public partial class TestControl : UserControl
    {
        public TestControl()
        {
            InitializeComponent();
        }
    }
    

生成、测试和部署

调试项目时,应会在 Visual Studio 实验实例的工具箱中找到安装的控件。

生成并测试控件

  1. 重新生成项目并启动调试。

  2. 在 Visual Studio 的新实例中,创建 WPF 应用程序项目。 确保 XAML 设计器处于打开状态。

  3. 在“工具箱” 中查找控件,并将其拖动到设计图面上。

  4. 开始调试 WPF 应用程序。

  5. 验证控件是否显示。

部署控件

  1. 生成测试的项目后,可以在项目的 *\bin\debug* 文件夹中找到 .vsix 文件。

  2. 可以通过双击 .vsix 文件,并按照安装过程将其安装在本地计算机上。 若要卸载控件,请转到工具>扩展和更新并查找控件扩展,然后单击卸载

  3. .vsix 文件上传到网络或网站。

    若将文件上传到 Visual Studio Marketplace 网站,则其他用户可使用 Visual Studio 中的工具>扩展和更新联机查找控件并进行安装。