当前位置: 首页 > news >正文

分享WPF的UI开源库

文章目录

  • 前言
  • 一、HandyControl
  • 二、AduSkin
  • 三、Adonis UI
  • 四、Panuon.WPF.UI
  • 五、LayUI-WPF
  • 六、MahApps.Metro
  • 七、MaterialDesignInXamlToolkit
  • 八、FluentWPF
  • 九、DMSkin
  • 总结


前言

分享WPF的UI开源库。


一、HandyControl

HandyControl是一套WPF控件库,它几乎重写了所有原生样式,同时包含80余款自定义控件(正逐步增加)。

  1. 界面风格:HandyControl 提供了一套简洁、现代的界面风格,具有一些常见控件的扩展和定制样式
  2. GitHub地址:https://github.com/handyOrg/HandyControl
  3. 文档(Wiki):https://handyorg.github.io/handycontrol/ 线上文档,很全面
  4. 优点:轻量级、易于使用、功能丰富、支持主题定制、博文资料很多、使用的人很多、提供了丰富的控件和样式、学习门槛相对较低。
  5. 缺点:社区支持相对较少、表格控件功能较一般。
  6. 官网对应模板或者控件的说明:https://handyorg.gitee.io/handycontrol/native_controls/border/
  7. 文章详细介绍:https://mp.weixin.qq.com/s/6OcSyquHutFOm5IWcgLLBQ

二、AduSkin

一款简单漂亮的WPF UI,融合多个开源框架组件,为个人定制的UI,可供学者参考和使用。

  1. 界面风格:AduSkin 的界面风格注重于扁平化和简约设计,提供了一些独特的控件和主题
  2. GitHub开源地址:https://github.com/aduskin/AduSkin
  3. 文档:无,有QQ联系方式和交流群,没有文档
  4. 优点:界面美观、功能丰富、易于使用、博文资料较多、提供了独特的主题和控件,支持主题定制、学习门槛相对较低。
  5. 缺点:文档相对较少、更新速度较慢、使用的人较少、社区支持有限、表格控件功能一般。
  6. 文章详细介绍:https://mp.weixin.qq.com/s/Lt4aSmNqpZTPPQypzyhb5g

三、Adonis UI

为WPF应用程序提供的轻量级UI工具包,提供经典且增强的窗口视觉效果。

  1. 界面风格:Adonis UI 也是一个扁平化设计风格的UI框架,提供了一些现代化的控件样式和主题
  2. GitHub地址:https://github.com/benruehl/adonis-ui
  3. 文档(英文):https://benruehl.github.io/adonis-ui/docs/getting-started/introduction/,线上文档,较齐全
  4. 优点:简洁、易于使用、支持多种控件、使用的人较多、学习门槛较低。
  5. 缺点:文档相对较少、博文资料较少、功能可能不够全面、社区支持有限、表格控件功能一般。

四、Panuon.WPF.UI

Panuon.WPF.UI 是一个开源的WPF UI 控件库,它提供了丰富的可重用的UI控件和样式,简化了WPF应用程序的开发过程。

  1. 界面风格:Panuon.WPF.UI 以简约、扁平化的设计风格为主,提供了一些常见控件的样式和功能扩展。
  2. GitHub开源地址:https://github.com/Panuon/Panuon.WPF.UI
  3. 文档(Wiki):https://github.com/Panuon/Panuon.WPF.UI/wiki/Home-zh-CN 线上文档,较齐全
  4. 优点:功能全面、支持主题定制、拓展性强、博文资料较多、文档相对齐全、学习门槛较低。
  5. 缺点:学习曲线较陡、使用的人较少、表格控件功能有限。
  6. 文章详细介绍:https://mp.weixin.qq.com/s/nhiJK5ERi0y1mrf6U4ekuw

五、LayUI-WPF

一个WPF版的LayUI前端UI样式库,该控件库参考了Web版本的LayUI风格,利用该控件库可以完成现代化UI客户端程序,让你的客户端看起来更加简洁丰富又不失美感。

  1. 界面风格:LayUI-WPF 基于 LayUI 的设计语言,界面风格简洁、清晰,注重用户体验和交互效果
  2. GitHub地址:https://github.com/Layui-WPF-Team/Layui-WPF
  3. 文档(有bilibili视频):https://space.bilibili.com/48808444 ,有QQ技术交流群(769599646(暗号:就叫我啊禾斗吧) 、 592390923(暗号:就叫我啊禾斗吧) 、 WRQBC1024),无文档
  4. 优点:界面美观、易于使用、学习门槛较低。
  5. 缺点:可能不够灵活、博文资料较少、适用范围有限、使用的人很少、功能较为基础、表格控件功能有限。

六、MahApps.Metro

MahApps.Metro 是一个开源的 WPF UI 框架,提供了现代化、平滑和美观的控件和样式,帮助开发人员轻松创建具有现代感的 Windows 桌面应用程序。

  1. 界面风格:MahApps.Metro 也是一个现代化的UI框架,采用了扁平化设计风格,提供了丰富的控件和主题选择。
  2. GitHub地址:https://github.com/MahApps/MahApps.Metro
  3. 文档(Wiki):https://github.com/MahApps/MahApps.Metro/wiki 有单独的官网:https://mahapps.com/docs/ 官网文档,很全面,文档不易看懂,易用性较差,仍在完善中,比如滚动条样式(即将推出)
  4. 优点:界面美观、功能全面、社区活跃、博文资料较多、使用的人很多、文档齐全。
  5. 缺点:可能过于特定风格、定制性相对较差、学习曲线较陡、表格控件功能一般、学习门槛较高。

七、MaterialDesignInXamlToolkit

一个开源、易于使用、强大的 WPF UI 控件库,旨在帮助开发人员在 C# 和 VB.Net 中实现 Google 的 Material Design 风格的用户界面。该框架提供了一组丰富的控件、样式和效果,使开发人员能够轻松创建现代化、具有吸引力的应用程序。

  1. 界面风格:MaterialDesignInXamlToolkit 是一个 Material Design 风格的UI框架,界面设计受到 Google Material Design 的启发,注重阴影、动画和色彩。
  2. GitHub地址:https://github.com/MaterialDesignInXAML/MaterialDesignInXamlToolkit
  3. 文档(Wiki):https://github.com/MaterialDesignInXAML/MaterialDesignInXamlToolkit/wiki/Getting-Started
  4. 官网:http://materialdesigninxaml.net
  5. 优点:符合Material Design风格、功能丰富、社区活跃、博文资料较少。
  6. 缺点:可能过于特定风格、适用范围有限、使用的人很少。

八、FluentWPF

基于Fluent Design设计风格的WPF UI界面库。

  1. 界面风格:FluentWPF 受到了 Windows Fluent Design System 的启发,采用了现代、流畅的设计风格,强调内容和动画效果。
  2. GitHub地址:https://github.com/sourcechord/FluentWPF
  3. 文档:无
  4. 优点:符合现代设计风格、易于使用、社区活跃、博文资料较多、使用的人较多。
  5. 缺点:功能相对较少、可能不适用于所有项目、学习曲线较陡、学习门槛较高。

九、DMSkin

DMSkin WPF 样式 UI 框架 、WPF Borderless Window 、 Custom Controls & Styles 、 MVVM Support。

  1. 界面风格:DMSkin 提供了一些现代化的控件样式和主题,界面风格简洁、清晰。
  2. GitHub地址:https://github.com/944095635/DMSkin
  3. 文档(Wiki):https://github.com/944095635/DMSkin/wiki
  4. 优点:界面美观、功能丰富、易于使用。
  5. 缺点:文档相对较少、博文资料较少、更新速度较慢、使用的人很少。

总结

不积硅步,何以至千里

相关文章:

分享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的核心原理是通过在大量文本上预训练深度双向表示&#xff0…...

【精品资料】模块化数据中心解决方案(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会很少&#xff0c…...

[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…...

HTML 语义化

目录 HTML 语义化HTML5 新特性HTML 语义化的好处语义化标签的使用场景最佳实践 HTML 语义化 HTML5 新特性 标准答案&#xff1a; 语义化标签&#xff1a; <header>&#xff1a;页头<nav>&#xff1a;导航<main>&#xff1a;主要内容<article>&#x…...

【Linux】shell脚本忽略错误继续执行

在 shell 脚本中&#xff0c;可以使用 set -e 命令来设置脚本在遇到错误时退出执行。如果你希望脚本忽略错误并继续执行&#xff0c;可以在脚本开头添加 set e 命令来取消该设置。 举例1 #!/bin/bash# 取消 set -e 的设置 set e# 执行命令&#xff0c;并忽略错误 rm somefile…...

通过Wrangler CLI在worker中创建数据库和表

官方使用文档&#xff1a;Getting started Cloudflare D1 docs 创建数据库 在命令行中执行完成之后&#xff0c;会在本地和远程创建数据库&#xff1a; npx wranglerlatest d1 create prod-d1-tutorial 在cf中就可以看到数据库&#xff1a; 现在&#xff0c;您的Cloudfla…...

循环冗余码校验CRC码 算法步骤+详细实例计算

通信过程&#xff1a;&#xff08;白话解释&#xff09; 我们将原始待发送的消息称为 M M M&#xff0c;依据发送接收消息双方约定的生成多项式 G ( x ) G(x) G(x)&#xff08;意思就是 G &#xff08; x ) G&#xff08;x) G&#xff08;x) 是已知的&#xff09;&#xff0…...

【Redis技术进阶之路】「原理分析系列开篇」分析客户端和服务端网络诵信交互实现(服务端执行命令请求的过程 - 初始化服务器)

服务端执行命令请求的过程 【专栏简介】【技术大纲】【专栏目标】【目标人群】1. Redis爱好者与社区成员2. 后端开发和系统架构师3. 计算机专业的本科生及研究生 初始化服务器1. 初始化服务器状态结构初始化RedisServer变量 2. 加载相关系统配置和用户配置参数定制化配置参数案…...

Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility

Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility 1. 实验室环境1.1 实验室环境1.2 小测试 2. The Endor System2.1 部署应用2.2 检查现有策略 3. Cilium 策略实体3.1 创建 allow-all 网络策略3.2 在 Hubble CLI 中验证网络策略源3.3 …...

2.Vue编写一个app

1.src中重要的组成 1.1main.ts // 引入createApp用于创建应用 import { createApp } from "vue"; // 引用App根组件 import App from ./App.vue;createApp(App).mount(#app)1.2 App.vue 其中要写三种标签 <template> <!--html--> </template>…...

蓝桥杯3498 01串的熵

问题描述 对于一个长度为 23333333的 01 串, 如果其信息熵为 11625907.5798&#xff0c; 且 0 出现次数比 1 少, 那么这个 01 串中 0 出现了多少次? #include<iostream> #include<cmath> using namespace std;int n 23333333;int main() {//枚举 0 出现的次数//因…...

Docker 本地安装 mysql 数据库

Docker: Accelerated Container Application Development 下载对应操作系统版本的 docker &#xff1b;并安装。 基础操作不再赘述。 打开 macOS 终端&#xff0c;开始 docker 安装mysql之旅 第一步 docker search mysql 》〉docker search mysql NAME DE…...

MySQL 知识小结(一)

一、my.cnf配置详解 我们知道安装MySQL有两种方式来安装咱们的MySQL数据库&#xff0c;分别是二进制安装编译数据库或者使用三方yum来进行安装,第三方yum的安装相对于二进制压缩包的安装更快捷&#xff0c;但是文件存放起来数据比较冗余&#xff0c;用二进制能够更好管理咱们M…...