一款开源、免费的 WPF 自定义控件集

前言

今天大姚给大家分享一款开源(MIT license)、免费的 WPF 自定义控件集,对于正在学习或开发 WPF 应用、希望深入了解自定义控件实现原理的同学来说,具有很高的参考和借鉴价值。

项目介绍

PropertyTools 是一款开源(MIT license)、免费的 WPF 自定义控件集,该控件集涵盖了 PropertyGrid、DataGrid、支持多选的 TreeView、ColorPicker 等常用控件。

支持的.NET版本

控件介绍

当然可以,以下是去掉"状态"列后的中文表格:

控件名称 描述
PropertyGrid(属性网格) 显示单个对象或一组对象的属性的控件。
DataGrid(数据表格) 具有"Excel 风格"的数据表格控件(注意:该控件未实现虚拟化)。
TreeListBox(树形列表框) 外观和行为类似 TreeViewListBox,支持多选和拖放操作。
ColorPicker(颜色选择器) 用于选择颜色的控件。
RadioButtonList(单选按钮列表) 一组绑定到枚举(enum)的单选按钮。
EnumMenuItem(枚举菜单项) 一组可勾选的菜单项,绑定到枚举(enum)。
EditableTextBlock(可编辑文本块) 一种可在 TextBlockTextBox 之间切换的控件,适用于在 TreeView 中进行就地编辑。
FilePicker(文件选择器) 带有"浏览文件"按钮的 TextBox
DirectoryPicker(目录选择器) 带有"浏览文件夹"按钮的 TextBox
DockPanelSplitter(停靠面板分割条) 用于 DockPanel 的分割条控件。
SpinControl(数值调节框) 带有上下箭头的数字输入控件(数值微调器)。
LinkBlock(超链接文本块) TextBlock 上实现超链接功能的控件。
SliderEx(增强滑块) 一种 Slider,在拖动滑块时会调用 IEditableObject.BeginEdit/EndEdit 方法。
TextBlockEx(增强文本块) 支持禁用状态样式的 TextBlock
PopupBox(弹出框) 重新样式化的 ComboBox,允许在弹出视图中放置任意内容。
FormattingTextBox(格式化文本框) 可绑定格式化字符串的 TextBox

项目源代码

控件效果查看

设置ControlDemos为启动项目,运行查看效果:

项目源码地址

更多项目实用功能和特性欢迎前往项目开源地址查看👀,别忘了给项目一个Star支持💖。

优秀项目和框架精选

该项目已收录到C#/.NET/.NET Core优秀项目和框架精选中,关注优秀项目和框架精选能让你及时了解C#、.NET和.NET Core领域的最新动态和最佳实践,提高开发工作效率和质量。坑已挖,欢迎大家踊跃提交PR推荐或自荐(让优秀的项目和框架不被埋没🤞)。

相关推荐
葫芦和十三1 小时前
图解 MongoDB 30|查询路由与广播查询:带片键定向,不带就广播
后端·mongodb·agent
葫芦和十三1 小时前
图解 MongoDB 29|分片键陷阱:jumbo chunk、孤儿文档和写入热点
后端·mongodb·agent
进击的程序猿~1 小时前
Go Zero源码阅读1
后端·golang
2601_961593423 小时前
Rust 开发环境配置繁琐?RustRover 开箱即用搞定编码调试
开发语言·后端·macos·rust
犀利豆5 小时前
AI in Harness(三)
人工智能·后端
IT_陈寒6 小时前
Java的Stream.parallel()把我CPU跑爆了,这种优化要谨慎
前端·人工智能·后端
子兮曰6 小时前
Bun 重写为 Rust:11天、64个Claude、16.5万美元,一次改变行业认知的激进实验
前端·后端·bun
子兮曰6 小时前
Node.js v26.5.0 深度解读:import Text、流式 ReadableStreamTee、以及隐藏的安全加固浪潮
前端·后端·node.js
子兮曰6 小时前
TypeScript 7.0 RC 深度解读:Go 重写完成,10 倍提速,编译器的「奇点时刻」
前端·后端·typescript
kosan6 小时前
.NET/C# 实战:我如何把登录验证码从“裸奔”改到“铜墙铁壁”
后端