创建 WPF 工具箱控件

WPF (Windows Presentation Framework) 工具箱控件模板允许您创建 WPF 控件,会自动添加到 工具箱 安装扩展的安装。 本主题演示如何使用模板来创建 工具箱 可以分发给其他用户的控件。

创建 WPF 工具箱控件

与 WPF 工具箱控件中创建的扩展

  1. 创建一个名为的 VSIX 项目 MyToolboxControl。 您可以找到中的 VSIX 项目模板 新项目 下的对话框 Visual C# / 可扩展性

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

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

若要创建控件用户界面

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

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

  2. 排列网格布局。 当您选择 Grid 控制,网格的顶部和左侧边缘上显示蓝色的控件条。 您可以添加到网格的行和列,方法是单击标题栏。

  3. 将子控件添加到网格。 您可以通过将其从拖动定位子控件 工具箱 部分的网格中,或通过设置其 Grid.Row 和Grid.Column 在 XAML 中的属性。 下面的示例在网格中,然后第二行上的按钮的顶行上添加两个标签。

    <Grid>
    <Label Grid.Row="" Grid.Column="" Name="label1" />
    <Label Grid.Row="" Grid.Column="" Name="label2" />
    <Button Name="button1" Click="button1_Click" Grid.Row="" Grid.ColumnSpan="" />
    </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 库 网站,其他用户可以使用 工具 / 扩展和更新 在 Visual Studio 中查找联机的控件并将其安装。

创建 WPF 工具箱控件
创建 WPF 工具箱控件

WPF (Windows Presentation Framework) 工具箱控件模板允许您创建 WPF 控件,会自动添加到 工具箱 安装扩展的安装。 本主题演示如何使用模板来创建 工具箱 可以分发给其他用户的控件。

启动 Visual Studio 2015 中,您并不安装 Visual Studio SDK 从下载中心获得。 它将包括作为 Visual Studio 安装程序中的可选功能。 您还可以在以后安装 VS SDK。 有关更多信息,请参见 安装 Visual Studio SDK。

创建 WPF 工具箱控件

与 WPF 工具箱控件中创建的扩展

  1. 创建一个名为的 VSIX 项目 MyToolboxControl。 您可以找到中的 VSIX 项目模板 新项目 下的对话框 Visual C# / 可扩展性

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

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

若要创建控件用户界面

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

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

  2. 排列网格布局。 当您选择 Grid 控制,网格的顶部和左侧边缘上显示蓝色的控件条。 您可以添加到网格的行和列,方法是单击标题栏。

  3. 将子控件添加到网格。 您可以通过将其从拖动定位子控件 工具箱 部分的网格中,或通过设置其 Grid.Row 和Grid.Column 在 XAML 中的属性。 下面的示例在网格中,然后第二行上的按钮的顶行上添加两个标签。

    <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>
重命名控件
生成、测试和部署
 
 

创建 WPF 工具箱控件的更多相关文章

  1. 创建WPF用户控件

    wpf用户自定义控件和winform创建方法类似,这里先纠正一个误区,就是有很多人也是添加,然后新建,然后是新建用户控件库,但是为什么编译好生成后Debug目录下还是只有exe文件而没有dll文件呢? ...

  2. WPF 中动态创建和删除控件

    原文:WPF 中动态创建和删除控件 动态创建控件 1.容器控件.RegisterName("Name",要注册的控件)   //注册控件 2.容器控件.FindName(" ...

  3. 【WPF学习】第六十五章 创建无外观控件

    用户控件的目标是提供增补控件模板的设计表面,提供一种定义控件的快速方法,代价是失去了将来的灵活性.如果喜欢用户控件的功能,但需要修改使其可视化外观,使用这种方法就有问题了.例如,设想希望使用相同的颜色 ...

  4. WPF布局控件常用属性介绍

    WPF布局控件常用属性介绍 其它 | 作者:慧都控件网 | 2011-04-06 13:41:57| 阅读 0次 有用(0) 评论(0)   概述:WPF布局控件都是派生自System.Windows ...

  5. WPF第三方控件盘点

    WPF统一的编程模型.语言和框架,实现了界面设计人员和开发人员工作可以分离的境界,鉴于WPF强大的优势,且一直是开发者关注的地方,下面和大家分享基于WPF项目开发需要用到的第三方控件,包括业界最受好评 ...

  6. C# WPF 歌词控件(支持逐字定位描色效果)

    原文:C# WPF 歌词控件(支持逐字定位描色效果) 之前做了一个模仿网易云歌词的控件,实现了加载网易云歌词并能随音乐播放进度定位歌词.今天呢将在这个控件的基础上增加逐字定位描色功能,如下图效果(QQ ...

  7. WPF滑块控件(Slider)的自定义样式

    前言 每次开发滑块控件的样式都要花很久去读样式代码,感觉有点记不牢,所以特此备忘. 自定义滑块样式 首先创建项目,添加Slider控件. 然后获取Slider的Window样式,如下图操作. 然后弹出 ...

  8. WPF默认控件模板的获取和资源词典的使用

    一.获取默认的控件模板 WPF修改控件模板是修改外观最方便的方式,但是会出现不知道原来的控件的模板长什么样,或者想用来参考的,下面分享一下获取某控件默认控件模板的方式(已Button为例): 1.创建 ...

  9. WPF开源控件扩展库 - MaterialDesignExtensions

    Material Design Extensions 在WPF开源控件库 Material Design in XAML Toolkit(本站介绍:链接)的基础上进行了控件扩展和特性新增.本开源项目中 ...

随机推荐

  1. 【笔记6】用pandas实现条目数据格式的推荐算法 (基于物品的协同)

    ''' 基于物品的协同推荐 矩阵数据 说明: 1.修正的余弦相似度是一种基于模型的协同过滤算法.我们前面提过,这种算法的优势之 一是扩展性好,对于大数据量而言,运算速度快.占用内存少. 2.用户的评价 ...

  2. [CareerCup] 2.5 Add Two Numbers 两个数字相加

    2.5 You have two numbers represented by a linked list, where each node contains a single digit. The ...

  3. Unit Test测试框架中的测试的执行顺序

    [ClassInitialize()] [ClassCleanup()] [TestInitialize()] [TestMethod] [TestCleanup()] 在执行一个或多个[TestMe ...

  4. 面向对象和面向过程的jquery版选项卡

    <!DOCTYPE html><html> <head> <meta charset="UTF-8"> <script src ...

  5. 使用powershell链接到Azure

    一:针对传统的的Azure 的登陆界面: (ASM) 1. 正常来说是 现在本地创建证书文件,然后上传文件,以便本地计算机和Azure建立可靠的安全连接 Get-AzurePublishSetting ...

  6. java-图片下载

    图片下载 public static void main(String[] args) { List<String> urlList = new ArrayList<String&g ...

  7. C语言拾遗(一)

    越来越体会到C语言的重要性,不管是在计算机底层的理解上,还是在算法数据结构上,所以遂决定重新拾起C语言,不定期更新一些知识点. 推荐博客:http://blog.csdn.net/itcastcpp ...

  8. Java,来源于大神

    也许你学习了那么久的Java了,但如果有人问你什么是JavaEE?你会怎么回答他呢?在此我来谈谈关于JavaEE的相关技术.(仅是个人见解) 在谈JavaEE时,我们首先来了解一下Java平台.目前, ...

  9. miniui后台无法接收到input传值

    出错原因:在miniui中,此处应写成<input textName="current_unit",在php中才可以使用$_POST['current_unit']获取到值, ...

  10. linux中给PHP安装mongodb的扩展

    centos5.6 32bit php 5.2.17 php安装路径 /usr/local/php phpize路径 /usr/bin php-config路径 /usr/bin php.ini路径 ...