前言

推荐一款界面美观、功能齐全的 WPF 自定义控件资源库。这款资源库通过封装一系列常用的控件,简化开发流程,加快项目交付速度。

控件介绍

资源库封装了一些常用的控件,将其整合到一个自定义的控件库中,目的是为了方便快速开发。

通过使用这些预封装的控件,可以节省大量时间和精力,专注于核心业务逻辑的实现。

控件实现功能

1、基本实现常用基础控件

资源库中包含了多种常用的基础控件,如按钮、文本框、列表框等,这些控件经过精心设计和优化,能够满足常规软件开发的大部分需求。

2、满足常规软件快速开发

通过集成这些基础控件,开发者可以快速搭建用户界面,减少重复编码的工作量,从而显著提升开发效率。

支持框架

通过支持多个.NET 框架,资源库能够适应不同的开发环境和项目需求,确保在各种情况下都能稳定运行。

  • .NET Framework 4.5+
  • .NET Core 3.0+
  • .NET 5/6/7
  • C# 9.0/VS 2022

控件使用

Nuget包添加,具体如下图所示:

目前大部分功能采用注入 (Add) 和配置 (Use) 的方式添加。

Add

系统提供默认方法,例如 services.AddMessageDialog()。

如果你不想使用系统默认的对话框,可以通过注册方法重新注册接口,例如:

services.AddSingleton<IMessageDialog, MessageDialog>();

其中 MessageDialog 是自己实现的对话框。其他功能的思想类似。

Use

配置使用方法,例如 UseStart(l => l.Title = "HeBianGu"),用于自定义要显示的内容。通过这种方式配置的信息会保存在主窗口右上角的设置按钮页面中,可以自定义配置并序列化保存在本地。

控件效果

1、整体概况

按钮控件、文本输入框控件、下拉列表控件、数字控件、日期选择控件、支持绑定的密码框控件、进度条控件、拖动控件、树形控件、分页控件以及其他自定义控件。以上控件均已实现主题颜色、字体大小切换等,可以满足常用软件的功能。

2、控件主页

整体主窗口采用ViewBox方式加载,当缩放窗口或应用到到其他分辨率设备都会兼容。

3、主题设置

主题颜色主要用来标识要突出显示的部分,目前可以选择内置颜色、可以选择跟随系统主题颜色、可以自定义选择颜色、可以使用动态主题(即设置主题每隔指定时间自动变化)。

4、消息列表

目前有两种模式,分别是在窗口内显示和Window系统中显示,可以根据需求自定义显示方式。

5、在线升级

6、导航菜单示

7、数据表格

控件案例

项目地址

GitHub:https://github.com/HeBianGu/WPF-ControlBase

Gitee:https://github.com/HeBianGu/WPF-ControlBase

官方文档

推荐学习官方文档,获取详细的 API 说明和使用示例:

https://learn.microsoft.com/zh-cn/dotnet/api/system.windows.controls

在线源码

推荐查看在线源码,以便深入了解控件的实现细节:

https://referencesource.microsoft.com/

总结

希望这款界面美观、功能齐全的 WPF 自定义控件资源库 能够帮助大家提高开发效率,简化开发流程。更多实用功能和特性,请访问资源库的项目地址。

通过本文希望能为大家在 WPF 控件开发方面提供有价值的参考。欢迎在评论区留言交流,分享您的宝贵经验和建议。

最后

如果你觉得这篇文章对你有帮助,不妨点个赞支持一下!你的支持是我继续分享知识的动力。如果有任何疑问或需要进一步的帮助,欢迎随时留言。

也可以加入微信公众号[DotNet技术匠] 社区,与其他热爱技术的同行一起交流心得,共同成长!优秀是一种习惯,欢迎大家留言学习!

功能齐全的 WPF 自定义控件资源库(收藏版)的更多相关文章

  1. WPF自定义控件之图片控件 AsyncImage

    AsyncImage 是一个封装完善,使用简便,功能齐全的WPF图片控件,比直接使用Image相对来说更加方便,但它的内部仍然使用Image承载图像,只不过在其基础上进行了一次完善成熟的封装 Asyn ...

  2. WPF自定义控件与样式(3)-TextBox & RichTextBox & PasswordBox样式、水印、Label标签、功能扩展

    一.前言.预览 申明:WPF自定义控件与样式是一个系列文章,前后是有些关联的,但大多是按照由简到繁的顺序逐步发布的等,若有不明白的地方可以参考本系列前面的文章,文末附有部分文章链接. 本文主要是对文本 ...

  3. 【转】WPF自定义控件与样式(3)-TextBox & RichTextBox & PasswordBox样式、水印、Label标签、功能扩展

    一.前言.预览 申明:WPF自定义控件与样式是一个系列文章,前后是有些关联的,但大多是按照由简到繁的顺序逐步发布的等. 本文主要是对文本输入控件进行样式开发,及相关扩展功能开发,主要内容包括: 基本文 ...

  4. WPF自定义控件与样式(1)-矢量字体图标(iconfont)

    一.图标字体 图标字体在网页开发上运用非常广泛,具体可以网络搜索了解,网页上的运用有很多例子,如Bootstrap.但在C/S程序中使用还不多,字体图标其实就是把矢量图形打包到字体文件里,就像使用一般 ...

  5. WPF自定义控件与样式(2)-自定义按钮FButton

    一.前言.效果图 申明:WPF自定义控件与样式是一个系列文章,前后是有些关联的,但大多是按照由简到繁的顺序逐步发布的等,若有不明白的地方可以参考本系列前面的文章,文末附有部分文章链接. 还是先看看效果 ...

  6. WPF自定义控件与样式(15)-终结篇 & 系列文章索引 & 源码共享

    系列文章目录  WPF自定义控件与样式(1)-矢量字体图标(iconfont) WPF自定义控件与样式(2)-自定义按钮FButton WPF自定义控件与样式(3)-TextBox & Ric ...

  7. WPF自定义控件与样式(4)-CheckBox/RadioButton自定义样式

    一.前言 申明:WPF自定义控件与样式是一个系列文章,前后是有些关联的,但大多是按照由简到繁的顺序逐步发布的等,若有不明白的地方可以参考本系列前面的文章,文末附有部分文章链接. 本文主要内容: Che ...

  8. WPF自定义控件与样式(5)-Calendar/DatePicker日期控件自定义样式及扩展

    一.前言 申明:WPF自定义控件与样式是一个系列文章,前后是有些关联的,但大多是按照由简到繁的顺序逐步发布的等,若有不明白的地方可以参考本系列前面的文章,文末附有部分文章链接. 本文主要内容: 日历控 ...

  9. WPF自定义控件与样式(6)-ScrollViewer与ListBox自定义样式

    一.前言 申明:WPF自定义控件与样式是一个系列文章,前后是有些关联的,但大多是按照由简到繁的顺序逐步发布的等,若有不明白的地方可以参考本系列前面的文章,文末附有部分文章链接. 本文主要内容: Scr ...

  10. WPF自定义控件与样式(7)-列表控件DataGrid与ListView自定义样式

    一.前言 申明:WPF自定义控件与样式是一个系列文章,前后是有些关联的,但大多是按照由简到繁的顺序逐步发布的等,若有不明白的地方可以参考本系列前面的文章,文末附有部分文章链接. 本文主要内容: Dat ...

随机推荐

  1. docker高级篇1-dockeran安装mysql主从复制

    大家好,咱们前面通过十篇的文章介绍了docker的基础篇,从本篇开始,咱们的<docker学习系列>将要进入到高级篇阶段(基础篇大家可以查看之前发布的文章). 咱们先来介绍:docker复 ...

  2. JavaScript – XMLHttpRequest

    前言 XMLHttpRequest 是 JavaScript built-in 的一个 class,用于发送 HTTP 请求,俗称 AJAX. 这几年 XMLHttpRequest 已经逐渐被 Fet ...

  3. Python写入数据到MySQL数据库并读取

    1.导入pymysql库   命令行输入pip3 install PyMySQL    2.连接数据库 import pymysql db = pymysql.connect(host='localh ...

  4. HTTP——简介

    HTTP   

  5. LeetCode 218. 天际线问题 (扫描线+优先队列)

    扫描线+优先队列 https://leetcode-cn.com/problems/the-skyline-problem/solution/tian-ji-xian-wen-ti-by-leetco ...

  6. 对3D图像进行裁剪

    在对医学图像进行深度学习的过程中,我们会遇到图片过大,导致train的过程中网络会瘫痪,所以我们会考虑到对图像进行分割.比如一张155x240x240的图像,我们可以将他分割成一系列128x128x1 ...

  7. Python | os.path.join() method

    Python中的os.path.join()方法可以连接一个或多个路径组件. 此方法将各个路径组成部分,与每个非空部分路径组成部分恰好用一个目录分隔符(" /")连接起来. 如果要 ...

  8. Java日期时间API系列34-----Jdk8中java.time包中的新的日期时间API类应用,使用Period一行代码计算生日。

    通过Java日期时间API系列9-----Jdk8中java.time包中的新的日期时间API类的Period和Duration的区别中得知,Period可以比较2个日期相差的年月日.年龄计算是2个日 ...

  9. Java日期时间API系列25-----Jdk8中java.time包中的新的日期时间API类,使用MonthDay计算十二星座。

    通过Java日期时间API系列24-----Jdk8中java.time包中的新的日期时间API类,MonthDay类源码和应用,对比相同月日时间.对MonthDay简单做了说明和应用.十二星座是根据 ...

  10. 2021年6月国产数据库排行榜:OceanBase、PolarDB会师TiDB、openGauss,入局开源阵营,逐鹿生态建设

    "首夏犹清和,芳草亦未歇",时至六月,百花齐放.百家争鸣的国产数据库市场依旧延续着如骄阳般火热的态势.不过从最新一期的 国产数据库流行度排行榜 Top 10 中不难发现,一个词足以 ...