分享WPF的UI开源库
文章目录
- 前言
- 一、HandyControl
- 二、AduSkin
- 三、Adonis UI
- 四、Panuon.WPF.UI
- 五、LayUI-WPF
- 六、MahApps.Metro
- 七、MaterialDesignInXamlToolkit
- 八、FluentWPF
- 九、DMSkin
- 总结
前言
分享WPF的UI开源库。
一、HandyControl
HandyControl是一套WPF控件库,它几乎重写了所有原生样式,同时包含80余款自定义控件(正逐步增加)。
- 界面风格:HandyControl 提供了一套简洁、现代的界面风格,具有一些常见控件的扩展和定制样式
- GitHub地址:https://github.com/handyOrg/HandyControl
- 文档(Wiki):https://handyorg.github.io/handycontrol/ 线上文档,很全面
- 优点:轻量级、易于使用、功能丰富、支持主题定制、博文资料很多、使用的人很多、提供了丰富的控件和样式、学习门槛相对较低。
- 缺点:社区支持相对较少、表格控件功能较一般。
- 官网对应模板或者控件的说明:https://handyorg.gitee.io/handycontrol/native_controls/border/
- 文章详细介绍:https://mp.weixin.qq.com/s/6OcSyquHutFOm5IWcgLLBQ
二、AduSkin
一款简单漂亮的WPF UI,融合多个开源框架组件,为个人定制的UI,可供学者参考和使用。
- 界面风格:AduSkin 的界面风格注重于扁平化和简约设计,提供了一些独特的控件和主题
- GitHub开源地址:https://github.com/aduskin/AduSkin
- 文档:无,有QQ联系方式和交流群,没有文档
- 优点:界面美观、功能丰富、易于使用、博文资料较多、提供了独特的主题和控件,支持主题定制、学习门槛相对较低。
- 缺点:文档相对较少、更新速度较慢、使用的人较少、社区支持有限、表格控件功能一般。
- 文章详细介绍:https://mp.weixin.qq.com/s/Lt4aSmNqpZTPPQypzyhb5g
三、Adonis UI
为WPF应用程序提供的轻量级UI工具包,提供经典且增强的窗口视觉效果。
- 界面风格:Adonis UI 也是一个扁平化设计风格的UI框架,提供了一些现代化的控件样式和主题
- GitHub地址:https://github.com/benruehl/adonis-ui
- 文档(英文):https://benruehl.github.io/adonis-ui/docs/getting-started/introduction/,线上文档,较齐全
- 优点:简洁、易于使用、支持多种控件、使用的人较多、学习门槛较低。
- 缺点:文档相对较少、博文资料较少、功能可能不够全面、社区支持有限、表格控件功能一般。
四、Panuon.WPF.UI
Panuon.WPF.UI 是一个开源的WPF UI 控件库,它提供了丰富的可重用的UI控件和样式,简化了WPF应用程序的开发过程。
- 界面风格:Panuon.WPF.UI 以简约、扁平化的设计风格为主,提供了一些常见控件的样式和功能扩展。
- GitHub开源地址:https://github.com/Panuon/Panuon.WPF.UI
- 文档(Wiki):https://github.com/Panuon/Panuon.WPF.UI/wiki/Home-zh-CN 线上文档,较齐全
- 优点:功能全面、支持主题定制、拓展性强、博文资料较多、文档相对齐全、学习门槛较低。
- 缺点:学习曲线较陡、使用的人较少、表格控件功能有限。
- 文章详细介绍:https://mp.weixin.qq.com/s/nhiJK5ERi0y1mrf6U4ekuw
五、LayUI-WPF
一个WPF版的LayUI前端UI样式库,该控件库参考了Web版本的LayUI风格,利用该控件库可以完成现代化UI客户端程序,让你的客户端看起来更加简洁丰富又不失美感。
- 界面风格:LayUI-WPF 基于 LayUI 的设计语言,界面风格简洁、清晰,注重用户体验和交互效果
- GitHub地址:https://github.com/Layui-WPF-Team/Layui-WPF
- 文档(有bilibili视频):https://space.bilibili.com/48808444 ,有QQ技术交流群(769599646(暗号:就叫我啊禾斗吧) 、 592390923(暗号:就叫我啊禾斗吧) 、 WRQBC1024),无文档
- 优点:界面美观、易于使用、学习门槛较低。
- 缺点:可能不够灵活、博文资料较少、适用范围有限、使用的人很少、功能较为基础、表格控件功能有限。
六、MahApps.Metro
MahApps.Metro 是一个开源的 WPF UI 框架,提供了现代化、平滑和美观的控件和样式,帮助开发人员轻松创建具有现代感的 Windows 桌面应用程序。
- 界面风格:MahApps.Metro 也是一个现代化的UI框架,采用了扁平化设计风格,提供了丰富的控件和主题选择。
- GitHub地址:https://github.com/MahApps/MahApps.Metro
- 文档(Wiki):https://github.com/MahApps/MahApps.Metro/wiki 有单独的官网:https://mahapps.com/docs/ 官网文档,很全面,文档不易看懂,易用性较差,仍在完善中,比如滚动条样式(即将推出)
- 优点:界面美观、功能全面、社区活跃、博文资料较多、使用的人很多、文档齐全。
- 缺点:可能过于特定风格、定制性相对较差、学习曲线较陡、表格控件功能一般、学习门槛较高。
七、MaterialDesignInXamlToolkit
一个开源、易于使用、强大的 WPF UI 控件库,旨在帮助开发人员在 C# 和 VB.Net 中实现 Google 的 Material Design 风格的用户界面。该框架提供了一组丰富的控件、样式和效果,使开发人员能够轻松创建现代化、具有吸引力的应用程序。
- 界面风格:MaterialDesignInXamlToolkit 是一个 Material Design 风格的UI框架,界面设计受到 Google Material Design 的启发,注重阴影、动画和色彩。
- GitHub地址:https://github.com/MaterialDesignInXAML/MaterialDesignInXamlToolkit
- 文档(Wiki):https://github.com/MaterialDesignInXAML/MaterialDesignInXamlToolkit/wiki/Getting-Started
- 官网:http://materialdesigninxaml.net
- 优点:符合Material Design风格、功能丰富、社区活跃、博文资料较少。
- 缺点:可能过于特定风格、适用范围有限、使用的人很少。
八、FluentWPF
基于Fluent Design设计风格的WPF UI界面库。
- 界面风格:FluentWPF 受到了 Windows Fluent Design System 的启发,采用了现代、流畅的设计风格,强调内容和动画效果。
- GitHub地址:https://github.com/sourcechord/FluentWPF
- 文档:无
- 优点:符合现代设计风格、易于使用、社区活跃、博文资料较多、使用的人较多。
- 缺点:功能相对较少、可能不适用于所有项目、学习曲线较陡、学习门槛较高。
九、DMSkin
DMSkin WPF 样式 UI 框架 、WPF Borderless Window 、 Custom Controls & Styles 、 MVVM Support。
- 界面风格:DMSkin 提供了一些现代化的控件样式和主题,界面风格简洁、清晰。
- GitHub地址:https://github.com/944095635/DMSkin
- 文档(Wiki):https://github.com/944095635/DMSkin/wiki
- 优点:界面美观、功能丰富、易于使用。
- 缺点:文档相对较少、博文资料较少、更新速度较慢、使用的人很少。
总结
不积硅步,何以至千里
相关文章:
分享WPF的UI开源库
文章目录 前言一、HandyControl二、AduSkin三、Adonis UI四、Panuon.WPF.UI五、LayUI-WPF六、MahApps.Metro七、MaterialDesignInXamlToolkit八、FluentWPF九、DMSkin总结 前言 分享WPF的UI开源库。 一、HandyControl HandyControl是一套WPF控件库,它几乎重写了所…...
[ACM独立出版]2024年虚拟现实、图像和信号处理国际学术会议(ICVISP 2024)
最新消息ICVISP 2024-已通过ACM出版申请投稿免费参会,口头汇报或海报展示(可获得相应证明证书) ————————————————————————————————————————— [ACM独立出版]2024年虚拟现实、图像和信号处理国际学术会议(ICVI…...
JVM:类加载器
文章目录 一、什么是类加载器二、类加载器的应用场景三、类加载器的分类1、分类2、启动类加载器3、Java中的默认类加载器(1)扩展类加载器(2)应用程序类加载器(3)arthas中类加载器相关的功能 四、双亲委派机…...
支持向量机 (support vector machine,SVM)
支持向量机 (support vector machine,SVM) flyfish 支持向量机是一种用于分类和回归的机器学习模型。在分类任务中,SVM试图找到一个最佳的分隔超平面,使得不同类别的数据点在空间中被尽可能宽的间隔分开。 超平面方…...
宝塔面板以www用户运行composer
方式一 执行命令时指定www用户 sudo -u www composer update方式二 在网站配置中的composer选项卡中选择配置运行...
昇思25天打卡营-mindspore-ML- Day24-基于 MindSpore 实现 BERT 对话情绪识别
学习笔记:基于MindSpore实现BERT对话情绪识别 算法原理 BERT(Bidirectional Encoder Representations from Transformers)是由Google于2018年开发的一种预训练语言表示模型。BERT的核心原理是通过在大量文本上预训练深度双向表示࿰…...
【精品资料】模块化数据中心解决方案(33页PPT)
引言:模块化数据中心解决方案是一种创新的数据中心设计和部署策略,旨在提高数据中心的灵活性、可扩展性和效率。这种方案通过将数据中心的基础设施、计算、存储和网络资源封装到标准化的模块中,实现了快速部署、易于管理和高效运维的目标 方案…...
N6 word2vec文本分类
🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍖 原作者:K同学啊# 前言 前言 上周学习了训练word2vec模型,这周进行相关实战 1. 导入所需库和设备配置 import torch import torch.nn as nn import torchvision …...
excel、word、ppt 下载安装步骤整理
请按照我的步骤开始操作,注意以下截图红框标记处(往往都是需要点击的地方) 第一步:下载 首先进入office下载网址: otp.landian.vip 然后点击下载 拉到下方 下载站点(这里根据自己的需要选择下载&#x…...
【python学习】标准库之日期和时间库定义、功能、使用场景和示例
引言 datetime模块最初是由 Alex Martelli 在 Python 2.3 版本引入的,目的是为了解决之前版本中处理日期和时间时存在的限制和不便 在datetime模块出现之前,Python 主要使用time模块来处理时间相关的功能,但 time模块主要基于 Unix 纪元时间&…...
Android --- Kotlin学习之路:基础语法学习笔记
------>可读可写变量 var name: String "Hello World";------>只读变量 val name: String "Hello World"------>类型推断 val name: String "Hello World" 可以写成 val name "Hello World"------>基本数据类型 1…...
嵌入式智能手表项目实现分享
简介 这是一个基于STM32F411CUE6和FreeRTOS和LVGL的低成本的超多功能的STM32智能手表~ 推荐 如果觉得这个手表的硬件难做,又想学习相关的东西,可以试下这个新出的开发板,功能和例程demo更多!FriPi炸鸡派STM32F411开发板: 【STM32开发板】 FryPi炸鸡派 - 嘉立创EDA开源硬件平…...
`nmap`模块是一个用于与Nmap安全扫描器交互的库
在Python中,nmap模块是一个用于与Nmap安全扫描器交互的库。Nmap(Network Mapper)是一个开源工具,用于发现网络上的设备和服务。虽然Python的nmap模块可能不是官方的Nmap库(因为Nmap本身是用C/C编写的)&…...
JVM系列 | 对象的创建与存储
JVM系列 | 对象的生命周期1 对象的创建与存储 文章目录 前言对象的创建过程内存空间的分配方式方式1 | 指针碰撞方式2 | 空闲列表 线程安全问题 | 避免空间冲突的方式方式1 | 同步处理(加锁)方式2 | 本地线程分配缓存 对象的内存布局Part1 | 对象头Mark Word类型指针…...
【JavaScript 算法】快速排序:高效的排序算法
🔥 个人主页:空白诗 文章目录 一、算法原理二、算法实现三、应用场景四、优化与扩展五、总结 快速排序(Quick Sort)是一种高效的排序算法,通过分治法将数组分为较小的子数组,递归地排序子数组。快速排序通常…...
Excel如何才能忽略隐藏行进行复制粘贴?
你有没有遇到这样的情况:数据很多,将一些数据隐藏后,进行复制粘贴,结果发现粘贴后的内容仍然将整个数据都显示出来了!那么,Excel如何才能忽略隐藏行进行复制粘贴? 打开你的Excel表格 Excel如何…...
行人越界检测 越线 越界区域 多边形IOU越界判断
行人越界判断 越界判断方式:(1)bbox中心点越界(或自定义)(2)交并比IoU判断 越界类型:(1)越线 (2)越界区域 1.越线判断 bbox中心点xc、…...
「UCD」浅谈蓝湖Figma交互设计对齐
在现代数字产品的设计和开发过程中,选择合适的工具对于提高团队效率和保证产品质量至关重要。本文将从开发和设计两个不同的角度,探讨蓝湖和Figma两款流行工具的优势与不足,并提出结论和建议。 开发研发视角:蓝湖 优点: 清晰的设计规范:蓝湖为开发工程师提供了清晰的设计…...
VUE3 播放RTSP实时、回放(NVR录像机)视频流(使用WebRTC)
1、下载webrtc-streamer,下载的最新window版本 Releases mpromonet/webrtc-streamer GitHub 2、解压下载包 3、webrtc-streamer.exe启动服务 (注意:这里可以通过当前文件夹下用cmd命令webrtc-streamer.exe -o这样占用cpu会很少,…...
[PaddlePaddle飞桨] PaddleOCR-光学字符识别-小模型部署
PaddleOCR的GitHub项目地址 推荐环境: PaddlePaddle > 2.1.2 Python > 3.7 CUDA > 10.1 CUDNN > 7.6pip下载指令: python -m pip install paddlepaddle-gpu2.5.1 -i https://pypi.tuna.tsinghua.edu.cn/simple pip install paddleocr2.7…...
Linux应用开发之网络套接字编程(实例篇)
服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …...
多模态2025:技术路线“神仙打架”,视频生成冲上云霄
文|魏琳华 编|王一粟 一场大会,聚集了中国多模态大模型的“半壁江山”。 智源大会2025为期两天的论坛中,汇集了学界、创业公司和大厂等三方的热门选手,关于多模态的集中讨论达到了前所未有的热度。其中,…...
多模态商品数据接口:融合图像、语音与文字的下一代商品详情体验
一、多模态商品数据接口的技术架构 (一)多模态数据融合引擎 跨模态语义对齐 通过Transformer架构实现图像、语音、文字的语义关联。例如,当用户上传一张“蓝色连衣裙”的图片时,接口可自动提取图像中的颜色(RGB值&…...
cf2117E
原题链接:https://codeforces.com/contest/2117/problem/E 题目背景: 给定两个数组a,b,可以执行多次以下操作:选择 i (1 < i < n - 1),并设置 或,也可以在执行上述操作前执行一次删除任意 和 。求…...
uniapp微信小程序视频实时流+pc端预览方案
方案类型技术实现是否免费优点缺点适用场景延迟范围开发复杂度WebSocket图片帧定时拍照Base64传输✅ 完全免费无需服务器 纯前端实现高延迟高流量 帧率极低个人demo测试 超低频监控500ms-2s⭐⭐RTMP推流TRTC/即构SDK推流❌ 付费方案 (部分有免费额度&#x…...
在鸿蒙HarmonyOS 5中使用DevEco Studio实现录音机应用
1. 项目配置与权限设置 1.1 配置module.json5 {"module": {"requestPermissions": [{"name": "ohos.permission.MICROPHONE","reason": "录音需要麦克风权限"},{"name": "ohos.permission.WRITE…...
第7篇:中间件全链路监控与 SQL 性能分析实践
7.1 章节导读 在构建数据库中间件的过程中,可观测性 和 性能分析 是保障系统稳定性与可维护性的核心能力。 特别是在复杂分布式场景中,必须做到: 🔍 追踪每一条 SQL 的生命周期(从入口到数据库执行)&#…...
【Linux】Linux安装并配置RabbitMQ
目录 1. 安装 Erlang 2. 安装 RabbitMQ 2.1.添加 RabbitMQ 仓库 2.2.安装 RabbitMQ 3.配置 3.1.启动和管理服务 4. 访问管理界面 5.安装问题 6.修改密码 7.修改端口 7.1.找到文件 7.2.修改文件 1. 安装 Erlang 由于 RabbitMQ 是用 Erlang 编写的,需要先安…...
macOS 终端智能代理检测
🧠 终端智能代理检测:自动判断是否需要设置代理访问 GitHub 在开发中,使用 GitHub 是非常常见的需求。但有时候我们会发现某些命令失败、插件无法更新,例如: fatal: unable to access https://github.com/ohmyzsh/oh…...
OCR MLLM Evaluation
为什么需要评测体系?——背景与矛盾 能干的事: 看清楚发票、身份证上的字(准确率>90%),速度飞快(眨眼间完成)。干不了的事: 碰到复杂表格(合并单元…...
