创建 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. Linux服务器高并发实践经历

    作为一个师父离职早的野生程序员,业务方面还可以达到忽悠别人的水平,但上升到性能层面那就是硬伤. 真实天上掉馅饼,公司分配了一个测试性能的任务,真是感觉我的天空星星都亮了. 高并发主要限制因素:CPU. ...

  2. 错误"ORA-04091: table is mutating, trigger/function may not see it"的原因以及解决办法

    错误的原因该错误是在编写trigger时常遇到的问题,其根本原因是由于对本表的操作造成的.对于使用了for each row 的触发器,做了DML操作(delete,update,insert),还没 ...

  3. Spring源码分析——BeanFactory体系之抽象类、类分析(二)

    上一篇分析了BeanFactory体系的2个类,SimpleAliasRegistry和DefaultSingletonBeanRegistry——Spring源码分析——BeanFactory体系之 ...

  4. ElasticSearch第一步-环境配置

    ElasticSearch第一步-环境配置 ElasticSearch第二步-CRUD之Sense ElasticSearch第三步-中文分词 ElasticSearch第四步-查询详解 Elasti ...

  5. 利用 lucene.net 实现高效率的 WildcardQuery ,记一次类似百度搜索下拉关键字联想功能的实现。

    打开百度输入  站内搜索也要实现类似功能.最基础的做法,写个方法查数据库搜索历史综合表keywordSearch(先将被搜索过的关键字记录到一张表,记录好他们被搜索的次数.上次搜索的有多少结果) 大概 ...

  6. JS组件系列——Bootstrap Table 冻结列功能IE浏览器兼容性问题解决方案

    前言:最近项目里面需要用到表格的冻结列功能,所谓“冻结列”,就是某些情况下表格的列比较多,需要固定前面的几列,后面的列滚动.遗憾的是,bootstrap table里自带的fixed column功能 ...

  7. 回答阿里社招面试如何准备,顺便谈谈对于Java程序猿学习当中各个阶段的建议

    引言 其实本来真的没打算写这篇文章,主要是LZ得记忆力不是很好,不像一些记忆力强的人,面试完以后,几乎能把自己和面试官的对话都给记下来.LZ自己当初面试完以后,除了记住一些聊过的知识点以外,具体的内容 ...

  8. 在asp.net mvc4项目里bootstrap datetimepicker控件的使用

    前段时间写了一篇关于调用阿里大于的短信接口来开发例会短信群发通知功能的文章http://www.cnblogs.com/zhouyuangan/p/apicall_1.html,其中的例会时间是需求中 ...

  9. python标准模块(三)

    本文会涉及到的模块: subprocess logging 1. subprocess 可以执行shell命令的相关模块和函数有: os.system os.spawn os.popen --废弃 p ...

  10. System类和Random类

    System类 成员方法: public static void gc():运行垃圾回收器 public static void exit(int status):退出垃圾回收器 public sta ...