一款开源、免费的 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推荐或自荐(让优秀的项目和框架不被埋没🤞)。

相关推荐
rockey62734 分钟前
AScript异步执行与await关键字
c#·.net·script·eval·expression·异步执行·动态脚本
zhangxingchao1 小时前
多 Agent 架构到底怎么选?从 Claude Agent Teams、Cognition/Devin 到工程落地原则
前端·人工智能·后端
IT_陈寒1 小时前
SpringBoot那个自动配置的坑,害我排查到凌晨三点
前端·人工智能·后端
ServBay1 小时前
OpenCode 和它的7款必备插件
后端·github·ai编程
ping某1 小时前
逐字节拆解 tcpdump
后端
阿凡9807301 小时前
花 100 dollar,用 Claude 打通 EasyEDA&Fusion 双向同步
后端·程序员
irving同学462382 小时前
从零搭建生产级 RAG:Embedding、Chunking、Hybrid Search 与 Reranker
前端·后端
她的男孩2 小时前
从零搭一个企业后台,为什么我把能力拆成 Starter 和 Plugin
java·后端·架构
胡志辉2 小时前
本地 AI 编码助手从 0 配起来:先选模型,再接 Ollama、VS Code、Claude Code 和 Codex
前端·后端
RainCity2 小时前
Java Swing 自定义组件库分享(七)
java·笔记·后端