创建 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 中的属性。 下面的示例在网格中,然后第二行上的按钮的顶行上添加两个标签。

    1. <Grid>
    2. <Label Grid.Row="" Grid.Column="" Name="label1" />
    3. <Label Grid.Row="" Grid.Column="" Name="label2" />
    4. <Button Name="button1" Click="button1_Click" Grid.Row="" Grid.ColumnSpan="" />
    5. </Grid>

    重命名控件

默认情况下,您的控件将出现在 工具箱 作为 MyToolboxControl 中一个名为组MyToolboxControl.MyToolboxControl。 您可以更改这些名称 MyToolboxControl.xaml.cs 文件中。

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

  2. 查找 MyToolboxControl 类并将它重命名为 TestControl。 (若要这样做的最快方法是重命名类中,然后选择 重命名从上下文菜单并完成的步骤。 (有关详细信息 重命名 命令,请参阅 重命名重构 (C#)。)

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

    生成的代码应如下所示︰

    1. [ProvideToolboxControl("Test", true)]
    2. public partial class TestControl : UserControl
    3. {
    4. public TestControl()
    5. {
    6. InitializeComponent();
    7. }
    8. }
生成、测试和部署

当调试项目时,您应会看到在安装该控件 工具箱 的 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 中的属性。 下面的示例在网格中,然后第二行上的按钮的顶行上添加两个标签。

    1. <Grid>
    2. <Label Grid.Row="0" Grid.Column="0" Name="label1" />
    3. <Label Grid.Row="0" Grid.Column="1" Name="label2" />
    4. <Button Name="button1" Click="button1_Click" Grid.Row="1" Grid.ColumnSpan="2" />
    5. </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. Mersenne twister 随机数算法实现 in Scheme

    这个实现基本上是从 Wiki 上的 Python 版翻译过来的,大量使用了赋值. ;; Mersenne twister algorithm from Wikipedia ;; returns a c ...

  2. WebApi 接口参数不再困惑:传参详解

    阅读目录 一.get请求 1.基础类型参数 2.实体作为参数 3.数组作为参数 4.“怪异”的get请求 二.post请求 1.基础类型参数 2.实体作为参数 3.数组作为参数 4.后台发送请求参数的 ...

  3. rpc框架之 thrift连接池实现

    接前一篇rpc框架之HA/负载均衡构架设计 继续,写了一个简单的thrift 连接池: 先做点准备工作: package yjmyzz; public class ServerInfo { publi ...

  4. 基于thrift的微服务框架

    前一阵开源过一个基于spring-boot的rest微服务框架,今天再来一篇基于thrift的微服务加框,thrift是啥就不多了,大家自行百度或参考我之前介绍thrift的文章, thrift不仅支 ...

  5. 使用MEF实现通用参数设置

    通用后台管理系统必备功能模块包含日志管理,权限管理,数据字典,参数配置等功能.参数设置主要用于设置系统运行所需的一些基础性配置项,比如redis缓存,mq消息队列,系统版本等信息.好的参数设置需要达到 ...

  6. CodeForces 548D 单调栈

    Mike and Feet Time Limit:1000MS     Memory Limit:262144KB     64bit IO Format:%I64d & %I64u Subm ...

  7. Win10家庭版升级专业版密钥

    步骤如下: Win10 Home 版本基础上,设置—更新安全—激活—更改产品密钥(或者 我的电脑右键—属性—右下角更改产品密钥),输入 VK7JG-NPHTM-C97JM-9MPGT-3V66T

  8. JQurey

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

  9. 查找树ADT——二叉搜索树

    在以下讨论中,虽然任意复杂的关键字都是允许的,但为了简单起见,假设它们都是整数,并且所有的关键字是互异的. 总概   使二叉树成为二叉查找树的性质是,对于树中的每个节点X,它的左子树中所有关键字值小于 ...

  10. <<< ajax在jsp中对于https跨域不能访问

    XMLHttpRequest cannot load https://www.emaple.com. No 'Access-Control-Allow-Origin' header is presen ...