7

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

 3 years ago
source link: https://www.cnblogs.com/SavionZhang/p/15009195.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client
.NET Core/.NET5/.NET6 开源项目汇总11:WPF组件库1

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、首页

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

142275-20210714080713787-1218067120.png

2、支持主题风格切换

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

142275-20210714080809469-2098670517.png

3、按钮

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

142275-20210714080936702-1137672806.png

4、输入验证框

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

142275-20210714081033839-1840447540.png

5、标签

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

6、卡片

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

142275-20210714081141952-1505071391.png

7、图标

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

142275-20210714081215655-1676275108.png

8、分组框

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

142275-20210714081240439-1104510858.png

9、进度条

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

142275-20210714081322078-69744568.png

10、对话框

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

142275-20210714081410208-1449535117.png

11、抽屉

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

12、提示信息

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

142275-20210714081530933-1647104255.png

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

官网:http://materialdesigninxaml.net

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

MaterialDesignExtensions 扩展库:https://github.com/spiegelp/MaterialDesignExtensions
2、MahApps.Metro 
142275-20210714082229663-1965652231.png

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

  • 增强默认控件

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

  • 样式与自定义控件

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

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

功能展示

142275-20210714082753282-580522841.png
142275-20210714082555208-1873639351.png

官网:https://mahapps.com

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

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

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

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

  • 产品功能

              

142275-20210714084216855-1088041291.gif

    动态修改皮肤

              

142275-20210714084237192-116657917.gif
  • 产品示例
    • 【AduMusic Mini】

                    

142275-20210714084416616-2132718210.png
    • 【AduShopping】

      

142275-20210714084521841-1870925297.gif
    • 【AduChat】

      

142275-20210714084619292-2002336604.gif
    • 【心理FM】

      

142275-20210714084702498-1375100551.png
    • 【SuperEvil】

      

142275-20210714084759172-1933290385.png
    • 【HttpTool】

       

142275-20210714084836575-1031308928.png
  • 特色控件组合案例

 

142275-20210714085037998-392878380.png

官网: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

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK