WPF(Windows Presentation Foundation)是微软推出的基于Windows 的用户界面框架,属于.NET Framework 3.0的一部分。它提供了统一的编程模型、语言和框架,真正做到了分离界面设计人员与开发人员的工作;同时它提供了全新的多媒体交互用户图形界面。

微软提供的WPF控件的功能很强大,但是样式不漂亮,需要专业的美工设计样式或皮肤。圈子里总有无私奉献的大牛们分享既漂亮又好用的WPF组件库,下面收集了几款非常优秀的WPF开源组件。

开源项目是众多组织与个人分享的组件或项目,作者付出的心血我们是无法体会的,所以首先大家要心存感激、尊重。请严格遵守每个项目的开源协议后再使用。尊重知识产权,共建和谐开源社区。

1、MaterialDesignInXAML

MaterialDesignInXAML完全开源,是WPF最流行的GUI库之一,该库还与MahApps和Dragablz兼容。通过XAML工具箱中的设计,可以使用现代流行的设计语言轻松地将漂亮的桌面应用程序带到生活中。

组件特征

  • 支持大多数标准WPF控件的样式和变体
  • 更多的附加控件,以支持材质设计的美观性和流动性
  • 在设计和运行时轻松配置材质设计调色板
  • 用于轻松构建GUI动画的转换API
  • 独立工作,也与其他流行的WPF框架MahApps和Dragablz兼容
  • 支持MVVM框架

示例效果

1、首页

布局简洁、清爽、效果直观

2、支持主题风格切换

该控件库配有数十种颜色风格,满足大部分配色要求。也可以自定义皮肤。

3、按钮

多种形状的交互按钮,如圆形按钮、图标按钮、按钮进度、按钮文字提示等等,Web中常见的效果WPF中也可以简单地使用。

4、输入验证框

表单验证,常规做法是在ViewModel中写业务逻辑验证代码,或者在XAML中写验证表达式。该控件库实现了较多的验证器,可直接使用,代码使用简单,且界面提示很友好,类似手机端输入、错误提示。

5、标签

控件英文Chips,可用于标签,当列表显示数据较多时,可显示多个标签,用于点击过滤。

6、卡片

Cards,卡片式布局,列表、表格显示数据有时是很枯燥的,用卡片会给人耳目一新的感觉,很清爽,展示数据也一目了然,可图片+文字的形式展示,非常友好。

7、图标

Icon Pack,有成百上千钟矢量图标供选择,极大的方便了开发,可用于菜单图标、按钮图标等。

8、分组框

Group Boxes,组合框,类似卡片,组合框Header自定义很方便,可添加图片

9、进度条

各式各样的进度条,还在为调整进度条各个部分而烦恼吗?这个控件库写了几种样式,几乎满足了一般需求使用了,不满足在上面基础上修改也是十分方便的。

10、对话框

遮罩式对话框,支持整个窗体遮罩,也支持窗体部分用户控件对话框,非常实用

11、抽屉

Drawer,抽屉式控件,支持东、南、西、北四个方向打开抽屉。

12、提示信息

提示信息,这种方式不用弹框(免得用户点击关闭,即时加定时器自动关闭也不是很友好),可用于提示性的信息,看一眼即可这种。

更多功能请参考官网与开源项目。

官网:http://materialdesigninxaml.net

开源地址:https://github.com/MaterialDesignInXAML/MaterialDesignInXamlToolkit

MaterialDesignExtensions 扩展库:https://github.com/spiegelp/MaterialDesignExtensions
 
2、MahApps.Metro 

Metro是一个框架,允许开发人员用最小的努力为自己的WPF应用程序设计出Metro或现代UI。

  • 增强默认控件

    Metro重写了所有常见WPF控件的默认样式,并为它们提供了现代的外观。

  • 样式与自定义控件

    Metro还包括一些基于WindowsPhone、Windows8和Windows10(UWP)应用程序概念的自定义控件。

  • 开源

    MahApps.Metro的源代码托管在GitHub上,包含了自己构建它所需的一切,所以请访问并帮助我们改进它。

功能展示

官网:https://mahapps.com

教程:https://mahapps.com/docs

开源地址:https://github.com/MahApps/MahApps.Metro

3、AduSkin(功能强大,产品示例较多)

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

  • 产品功能

    控件库

    动态修改皮肤

  • 产品示例
    • 【AduMusic Mini】

                    

    • 【AduShopping】

        

    • 【AduChat】

      

    • 【心理FM】

        

    • 【SuperEvil】

        

    • 【HttpTool】

         

  • 特色控件组合案例

官网:https://github.com/aduskin

开源地址:https://github.com/aduskin/AduSkin


参考文献:

  • https://www.cnblogs.com/lsq6/archive/2019/12/01/11966708.html
  • https://dotnet9.com/9373.html
  • https://www.cnblogs.com/aduskin/archive/2019/12/26/12101712.html
  • https://www.cnblogs.com/lsq6/archive/2019/12/04/11980648.html

.NET Core/.NET5/.NET6 开源项目汇总11:WPF组件库1的更多相关文章

  1. .NET Core/.NET5/.NET6 开源项目汇总12:WPF组件库2

    系列目录     [已更新最新开发文章,点击查看详细] WPF(Windows Presentation Foundation)是微软推出的基于Windows 的用户界面框架,属于.NET Frame ...

  2. .NET Core/.NET5/.NET6 开源项目汇总9:客户端跨平台UI框架

    系列目录     [已更新最新开发文章,点击查看详细] .NET Core 实现了跨平台,支持在 Windwos.Linux.macOS上开发与部署,但是也仅限于Web应用程序.对于Windows桌面 ...

  3. .NET Core/.NET5/.NET6 开源项目汇总5:权限管理系统项目

    系列目录     [已更新最新开发文章,点击查看详细] 企业管理系统一般包含后台管理UI.组织机构管理.权限管理.日志.数据访问.表单.工作流等常用必备功能.下面收集的几款优秀开源的管理系统,值得大家 ...

  4. .NET Core/.NET5/.NET6 开源项目汇总6:框架与架构设计(DDD、云原生/微服务/容器/DevOps/CICD等)项目

    系列目录     [已更新最新开发文章,点击查看详细] 开源项目是众多组织与个人分享的组件或项目,作者付出的心血我们是无法体会的,所以首先大家要心存感激.尊重.请严格遵守每个项目的开源协议后再使用.尊 ...

  5. .NET Core/.NET5/.NET6 开源项目汇总8:Blazor项目

    系列目录     [已更新最新开发文章,点击查看详细] Blazor 是一个使用 .NET 生成交互式客户端 Web UI 的框架: 使用 C# 代替 JavaScript 来创建信息丰富的交互式 U ...

  6. .NET Core/.NET5/.NET6 开源项目汇总10:实用工具

    系列目录     [已更新最新开发文章,点击查看详细] 开源项目是众多组织与个人分享的组件或项目,作者付出的心血我们是无法体会的,所以首先大家要心存感激.尊重.请严格遵守每个项目的开源协议后再使用.尊 ...

  7. .NET Core/.NET5/.NET6 开源项目汇总1:常用必备组件

    系列目录     [已更新最新开发文章,点击查看详细] 开源项目是众多组织与个人分享的组件或项目,作者付出的心血我们是无法体会的,所以首先大家要心存感激.尊重.请严格遵守每个项目的开源协议后再使用.尊 ...

  8. .NET Core/.NET5/.NET6 开源项目汇总2:任务调度组件

    系列目录     [已更新最新开发文章,点击查看详细] 开源项目是众多组织与个人分享的组件或项目,作者付出的心血我们是无法体会的,所以首先大家要心存感激.尊重.请严格遵守每个项目的开源协议后再使用.尊 ...

  9. .NET Core/.NET5/.NET6 开源项目汇总3:工作流组件

    系列目录     [已更新最新开发文章,点击查看详细] 开源项目是众多组织与个人分享的组件或项目,作者付出的心血我们是无法体会的,所以首先大家要心存感激.尊重.请严格遵守每个项目的开源协议后再使用.尊 ...

随机推荐

  1. properties模板

    jdbc.driver=com.mysql.jdbc.Driverjdbc.url=jdbc:mysql://localhost:3306/ssmdemo1?useSSL=true&useUn ...

  2. Psexec和wmiexec的原理和区别

    PSEXEC 针对远程建立连接的方式有两种,一种先建立IPC通道连接,然后直接使用,操作如下: net use \\192.168.0.1\ipc$ "password" /use ...

  3. GO学习-(10) Go语言基础之指针

    Go语言基础之指针 区别于C/C++中的指针,Go语言中的指针不能进行偏移和运算,是安全指针. 要搞明白Go语言中的指针需要先知道3个概念:指针地址.指针类型和指针取值. Go语言中的指针 任何程序数 ...

  4. xtrabackup(innobackupex)使用详解

    innobackupex实际上是percona-xtrabackup的perl整合脚本,功能当然更强大一些. xtrabackup备份实际上是在线的物理热备,为什么和么说呢,因为实际上他是以拷贝mys ...

  5. Django学习之完成数据库主从复制、读写分离和一主多从情况下的使用办法

    1.首先配置多个数据库,在settings配置文件中配置以下内容: DATABASES = { 'default': { #默认数据库,配置多个mysql数据也是ok的,混用数据库也是ok的 'ENG ...

  6. Json文件解析(下)

    Json文件解析(下) 代码地址:https://github.com/nlohmann/json   从STL容器转换 任何序列容器(std::array,std::vector,std::dequ ...

  7. ADAS车辆在行人安全方面得分很低

    ADAS车辆在行人安全方面得分很低 ADAS vehicles score poorly on pedestrian safety 对于热衷于自动驾驶汽车(AV)的狂热者来说,一个现在病毒性的视频片段 ...

  8. redis 系列,这里转发别人博客, 和常用命令

    https://blog.csdn.net/qq_35433716/category_7944890.html 常用命令: https://www.cnblogs.com/mznsndy/p/1395 ...

  9. 类编程的WAF(下)

    一.编程语言的要素 天存信息的iWall3应用防火墙是一种创新式的类编程 WAF,它包含了编程语言的一些基本要素. 1. 变量 iWall3 中广义的变量包括报文变量.环境变量和用户变量:报文变量和环 ...

  10. noip2012 总结

    Vigenère 密码 题目描述 16 世纪法国外交家 Blaise de Vigenère 设计了一种多表密码加密算法――Vigenère 密码.Vigenère 密码的加密解密算法简单易用,且破译 ...