创建 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. rpc框架之 avro 学习 2 - 高效的序列化

    同一类框架,后出现的总会吸收之前框架的优点,然后加以改进,avro在序列化方面相对thrift就是一个很好的例子.借用Apache Avro 与 Thrift 比较 一文中的几张图来说明一下,avro ...

  2. Dump中查看dictionary信息的方法

    In order to dump the contents of a dictionary, you need to start with either the MethodTable or the ...

  3. knockoutJS学习笔记01:从拼接字符串到编写模板引擎

    开篇 关于knockout的文章,园里已经有很多大神写过了,而且都写得很好.其实knockout学习起来还是很容易的,看看官网的demo和园里的文章,练习练习就可以上手了(仅限使用,不包含研究源码). ...

  4. java certificate 工具 portecle.sourceforge.net

    https://sourceforge.net/projects/portecle/?source=directory 当需要处理java证书的时候这个是个好工具.省得敲命令了.

  5. JQurey

    jQuery 是一个 JavaScript 库.极大地简化了 JavaScript 编程,很容易学习. jQuery 是一个 JavaScript 函数库. jQuery 库包含以下特性: HTML ...

  6. 文本框 textarea 动态显示行数(简单文本编辑器)

    工作需求做一个文本编辑器简单的. 右边输入文字,左边会显示相应的代码行.清空也会变为1. 废话不多说上代码,自己理解. <style type="text/css"> ...

  7. 【CityHunter】游戏进度总控,及需求设计

    需求列表 序号 标题 描述 进度 更新日期 1 游戏主界面 游戏进入的主操作界面,     2 基础定位功能 实现自身定位功能,     3 特殊地点的Marker 搜索周边银行(资产保护).医院(状 ...

  8. .NET简谈事务、分布式事务处理

    http://www.cnblogs.com/wangiqngpei557/archive/2011/12/22/2298500.html

  9. Gravatar注册

    今天在学习falsk时需要用到头像扩展,需要使用gravatar到网上查了查好像没有被墙,就试着用qq邮箱注册了一个账号,结果等了好长时间也没有等到激活邮箱,就百度了一下发现了一个技巧,原来这封邮件被 ...

  10. C#内存管理与垃圾回收

    垃圾回收还得从根说起,就像生儿育女一样. 根:根是一个位置,存放一个指针,该指针指向托管堆中的一个对象,或是一个空指针不指向任何对象,即为null.根存在线程栈或托管堆中,大部分的跟都在线程栈上,因为 ...