C# / XAML · 2023年5月28日 0

WPF 优质开源项目小集【转】

最全面的WPF开源项目推荐。篇幅较长,细为四个部分。

  • 案例
  • 控件库
  • 框架
  • wpf相关的扩展

如果你有好的wpf开源项目,也可以留言推荐哦!

未完待续,持续更新中……

1.开源的WPF案例

WPF-Samples

wpf入门案例,适合新手! https://github.com/microsoft/WPF-Samples​github.com/microsoft/WPF-Samples

Hawk

Hawk可以按照GPL协议以C#/ WPF和开放源代码编写的图形化方式对网页进行爬网,清理,处理和保存数据,而无需编程。

Hawk的意思是“鹰”,可以有效,准确地杀死猎物。它的设计思想来自Lisp语言,其功能模仿Unix中的awk。 主要功能如下:

  • 无需编程即可智能分析Web内容。
  • 所见即所得,转换,过滤和存储都可以通过可视化的拖放操作进行。
  • 并行处理和高速
  • 支持多文件和数据库:xml,csv,sqlite,mongodb …
  • 任务可以保存,暂停,重新启动和重复使用。
  • 专注于爬虫,但动力远不止于此。

https://github.com/ferventdesert/Hawk​github.com/ferventdesert/Hawk

AutumnBox

图形化ADB工具箱, 对Google ADB工具包进行GUI封装的Windows桌面应用,方便小白,帮助老鸟。

官网地址:https://atmb.top/

功能

  • 为您的设备刷入第三方Recovery
  • 向设备推送文件
  • 一键激活黑域服务
  • 一键激活冰箱
  • 解锁System,获取完整root控制权
  • 以拓展模块为中心的功能开发思想,将来将会支持越来越多的功能

https://github.com/zsh2401/AutumnBox​github.com/zsh2401/AutumnBox

TerminalMACS

开源项目TerminalMACS WPF管理端支持.NET 5

一个使用 Prism 作为模块化框架、基于多个开源控件库作为UI控件选择、集成开源 UI 界面设计的 .NET 5 WPF 客户端项目。

特点

  • 使用 .NET 5 开发,体验最新 .NET 平台(和 .NET Core 3.1 无缝兼容)
  • 基于 Prism 8 搭建模块化框架,方便程序扩展 Prism为程序设计提供指导,旨在帮助用户更加容易的设计和构建丰富、灵活、易于维护WPF桌面应用程序。Prism使用设计模式(如MVVM,复合视图,事件聚合器),帮助你创建一个松耦合的程序。遵循这些设计模式原则,将目标程序解耦成独立的模块。这些类型的应用程序被称为复合应用程序。
  • 参考以上多种开源 WPF UI 库,多个选择,开发 WPF 项目更方便。 案例 美食应用登录
动图封面

抽屉式菜单

动图封面

菜单切换动画

动图封面

https://github.com/dotnet9/TerminalMACS.ManagerForWPF​github.com/dotnet9/TerminalMACS.ManagerForWPF

Playnite

视频游戏库管理器,支持广泛的第三方库和游戏仿真支持,为您的游戏提供一个统一的界面。 https://github.com/JosefNemec/Playnite​github.com/JosefNemec/Playnite

DownmarkerWPF

可视化Markdown编辑器 https://github.com/Code52/DownmarkerWPF​github.com/Code52/DownmarkerWPF

Accelerider.Windows

Accelerider桌面客户端 https://github.com/Accelerider/Accelerider.Windows​github.com/Accelerider/Accelerider.Windows

Neutronium

使用HTML,CSS和javascript构建.NET桌面应用程序 https://github.com/NeutroniumCore/Neutronium​github.com/NeutroniumCore/Neutronium

ffmediaelement

高级WPF MediaElement,基于ffmepg unosquare/ffmediaelement​github.com/unosquare/ffmediaelement

Papercut-SMTP

Papercut SMTP是2合1快速电子邮件查看器和内置SMTP服务器(仅设计用于接收邮件)。https://github.com/ChangemakerStudios/Papercut-SMTP​github.com/ChangemakerStudios/Papercut-SMTP

2.开源的WPF框架

Prism

Prism是一个框架,用于在WPF,Xamarin Forms,Uno Platform和WinUI中构建松耦合,可维护和可测试的XAML应用程序。每个平台都有单独的版本,这些版本将在独立的时间表上开发。

Prism提供了一组设计模式的实现,这些模式有助于编写结构良好且可维护的XAML应用程序,包括MVVM,依赖项注入,命令,EventAggregator等。Prism的核心功能是.NET Standard 2.0,.Net Core 3和.NET Framework 4.5支持的共享代码库。那些需要平台特定的东西在目标平台的相应库中实现。Prism还提供了这些模式与目标平台的强大集成。https://github.com/PrismLibrary/Prism​github.com/PrismLibrary/Prism

ReactiveUI

ReactiveUI是适用于所有.NET平台的可组合的跨平台MVVM框架。

ReactiveUI受到功能性反应式编程范式的启发,该模型允许您将用户输入建模为随时间变化的函数。这非常酷,因为它使您可以从用户界面中抽象出可变状态,并在一个易读的地方围绕一种功能表达想法,同时提高应用程序的可测试性。https://github.com/reactiveui/ReactiveUI​github.com/reactiveui/ReactiveUI

MvvmCross

MvvmCross是一个跨平台的MVVM框架。它使开发人员可以在Xamarin.iOS,Xamarin.Android,Xamarin.Mac,Xamarin.Forms,通用Windows平台(UWP)和Windows Presentation Framework(WPF)上使用MVVM模式创建应用程序。通过允许您在平台之间共享行为和业务逻辑,可以更好地共享代码。

MvvmCross提供的功能包括:

  • 使用自己的可定制绑定引擎的ViewModel到View绑定,它允许您为自己的自定义视图创建自己的绑定定义
  • ViewModel到ViewModel导航,可帮助您共享有关如何以及何时导航的行为
  • 通过依赖注入和属性注入进行控制反转
  • 插件框架,可让您插入诸如GPS位置,本地化,传感器,绑定扩展之类的很棒的东西,以及各种第三方社区插件

https://github.com/MvvmCross/MvvmCross​github.com/MvvmCross/MvvmCross

MvvmLight

该工具包的主要目的是在Xamarin.Android,Xamarin.iOS,Xamarin.Forms,Windows 10 UWP,Windows Presentation Foundation(WPF),Silverlight,Windows Phone中加速MVVM应用程序的创建和开发。https://github.com/lbugnion/mvvmlight​github.com/lbugnion/mvvmlight

3.开源的WPF控件库

WPF做桌面开发是很有优势的,除了微软自带的控件外,还有很多第三方的控件库,比如收费的Dev Express For WPF、Telerik For WPF等。

人命币玩家先看这几个,都是收费的控件库!

MaterialDesignInXamlToolkit

适用于Windows桌面的全面且易于使用的Material Design主题和控件库,MaterialDesignInXAML是一款开源免费的控件库!

特点

  • 所有主要WPF Framework控件的材料设计样式
  • 支持该主题的其他控件,包括“多功能按钮”,“卡片”,“对话框”,“时钟”
  • 根据Google的指南,轻松配置调色板(在设计和运行时)
  • 完整的材料设计图标图标包
  • 轻松过渡效果
  • 与Dragablz,MahApps兼容
  • 源项目中包含的演示应用程序 案列截图 支持主题风格切换

各种按钮

输入验证框

标签

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

对话框

MaterialDesignInXAML/MaterialDesignInXamlToolkit​github.com/MaterialDesignInXAML/MaterialDesignInXamlToolkit

Panuon.UI.Silver

Panuon.UI的优化版本。一个漂亮的、使用样式与附加属性的WPF UI控件库。

Panuon.UI.Silver控件库的前身是Panuon.UI,但是后者已经停止维护。 Panuon.UI停止维护声明:

由于PanuonUI在设计初期的根本缺陷,PanuonUI从今日起已停止维护。请使用全新的PanuonUI.Silver,它的样式与PanuonUI大致相同,但使用方式更贴合原生控件, 且支持虚拟化。Silver的控件比PanuonUI更多,功能也更强大。

全面的控件库

动图封面

还有一个案例:Morin魔音,也是用这套开源的控件库做的! 官网地址:http://www.huanghunxiao.com/

https://github.com/Ruris/Panuon.UI.Silver​github.com/Ruris/Panuon.UI.Silver

Live-Charts

.NET 简单,灵活,交互式和强大的图表。

动图封面

Live-Charts/Live-Charts​github.com/Live-Charts/Live-Charts

HandyControl

一些简单且常用的WPF控件,黑白主题切换!

https://github.com/HandyOrg/HandyControl​github.com/HandyOrg/HandyControl

4.wpf的相关扩展

CefSharp

基于Chromium嵌入式.NET框架 https://github.com/cefsharp/CefSharp​github.com/cefsharp/CefSharp

Emgu CV

Emgu CV是OpenCV图像处理库的跨平台.Net包装器 OpenCV in .NET (C#, VB, C++ and more)​www.emgu.com/wiki/index.php/Main_Page

Vlc.DotNet

承载VLC库的音频/视频功能的.NET控件 ZeBobo5/Vlc.DotNet​github.com/ZeBobo5/Vlc.DotNet

WpfAnimatedGif

一个简单的库,可在WPF中显示动画GIF图像,可在XAML或代码中使用 https://github.com/XamlAnimatedGif/WpfAnimatedGif​github.com/XamlAnimatedGif/WpfAnimatedGif

http://GMap.NET

开源,强大,免费和跨平台的.NET地图控件 https://github.com/judero01col/GMap.NET​github.com/judero01col/GMap.NET

Spire

Office文档操作控件 https://www.e-iceblue.com/​www.e-iceblue.com/

如果你有好的开源WPF项目,欢迎推荐!