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. pyqt安装

    一.安装PyQt5 pip install PyQt5 二.安装PyQt-tools pip install PyQt-tools *注:mac不需要安装PyQt-tools,能够正常使用,只支持Wi ...

  2. 某SPI设备驱动引起的开关机压力测试死机问题一例

    环境 硬件平台:某ARM SoC 软件平台:Linux 问题现象:产品做开关机压力测试,发生死机. 分析 用crash工具解析两次死机dump信息,得到死机前的log如下.两次死机的backtrace ...

  3. Python+Selenium学习笔记17 - HTML测试报告

    运行少量case时 1 # coding = utf-8 2 3 from selenium import webdriver 4 import unittest 5 import time 6 fr ...

  4. 错误码:events.js:183 throw er; // Unhandled 'error' event ^ Error: listen EADDRINUSE :::8081

    错误的产生: 错误的原因: 端口被占用 修改访问端口就可以了 https://blog.csdn.net/qq_25479327/article/details/79824742

  5. 多级中间表示概述MLIR

    多级中间表示概述MLIR MLIR项目是一种构建可重用和可扩展的编译器基础结构的新颖方法.MLIR旨在解决软件碎片,改善异构硬件的编译,显着降低构建特定于域的编译器的成本以及帮助将现有编译器连接在一起 ...

  6. TVM 架构设计

    TVM 架构设计 本文面向希望了解TVM体系结构和/或积极参与项目开发的开发人员. 主要内容如下: 示例编译流程概述了TVM将模型的高级概念转换为可部署模块的步骤. 逻辑架构组件部分描述逻辑组件.针对 ...

  7. 狂神说redis笔记(二)

    四.三种特殊数据类型 Geospatial(地理位置) 使用经纬度定位地理坐标并用一个有序集合zset保存,所以zset命令也可以使用 geoadd key longitud(经度) latitude ...

  8. ThreadLocal源码阅读笔记

    功能描述 ThreadLocal解决了访问共享变量的阻塞问题,并且不需要像CAS操作一样牺牲CPU资源,它为每一个线程维护了一个变量副本,每个线程在访问ThrealLocal里面的变量时实际上访问的是 ...

  9. 从JDBC到ORM的事务实现

    一.JDBC 早期SUN公司想编写一套可以连接天下所有数据库的API,但是当他们刚刚开始时就发现这是不可完成的任务,因为各个厂商的数据库服务器差异太大了.后来SUN开始与数据库厂商们讨论,最终得出的结 ...

  10. SpringCloud-OAuth2(二):实战篇

    如果不了解Oauth2 是什么.工作流程的可以看我上一篇文章: SpringCloud-OAuth2(一):基础篇 这篇讲的内容是:Oauth2在SpringBoot/SpringCloud中的实战. ...