最全面的WPF开源项目推荐。篇幅较长,细为四个部分。
- 案例
- 控件库
- 框架
- wpf相关的扩展
如果你有好的wpf开源项目,也可以留言推荐哦!
未完待续,持续更新中……
1.开源的WPF案例
WPF-Samples
wpf入门案例,适合新手! https://github.com/microsoft/WPF-Samplesgithub.com/microsoft/WPF-Samples
Hawk
Hawk可以按照GPL协议以C#/ WPF和开放源代码编写的图形化方式对网页进行爬网,清理,处理和保存数据,而无需编程。
Hawk的意思是“鹰”,可以有效,准确地杀死猎物。它的设计思想来自Lisp语言,其功能模仿Unix中的awk。 主要功能如下:
- 无需编程即可智能分析Web内容。
- 所见即所得,转换,过滤和存储都可以通过可视化的拖放操作进行。
- 并行处理和高速
- 支持多文件和数据库:xml,csv,sqlite,mongodb …
- 任务可以保存,暂停,重新启动和重复使用。
- 专注于爬虫,但动力远不止于此。
https://github.com/ferventdesert/Hawkgithub.com/ferventdesert/Hawk
AutumnBox
图形化ADB工具箱, 对Google ADB工具包进行GUI封装的Windows桌面应用,方便小白,帮助老鸟。
官网地址:https://atmb.top/

功能
- 为您的设备刷入第三方Recovery
- 向设备推送文件
- 一键激活黑域服务
- 一键激活冰箱
- 解锁System,获取完整root控制权
- 以拓展模块为中心的功能开发思想,将来将会支持越来越多的功能
https://github.com/zsh2401/AutumnBoxgithub.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 项目更方便。 案例 美食应用登录

抽屉式菜单

菜单切换动画

- 作者:Dotnet9
- 官网:https://dotnet9.com/
https://github.com/dotnet9/TerminalMACS.ManagerForWPFgithub.com/dotnet9/TerminalMACS.ManagerForWPF
Playnite
视频游戏库管理器,支持广泛的第三方库和游戏仿真支持,为您的游戏提供一个统一的界面。 https://github.com/JosefNemec/Playnitegithub.com/JosefNemec/Playnite
DownmarkerWPF
可视化Markdown编辑器 https://github.com/Code52/DownmarkerWPFgithub.com/Code52/DownmarkerWPF
Accelerider.Windows
Accelerider桌面客户端 https://github.com/Accelerider/Accelerider.Windowsgithub.com/Accelerider/Accelerider.Windows
Neutronium
使用HTML,CSS和javascript构建.NET桌面应用程序 https://github.com/NeutroniumCore/Neutroniumgithub.com/NeutroniumCore/Neutronium
ffmediaelement
高级WPF MediaElement,基于ffmepg unosquare/ffmediaelementgithub.com/unosquare/ffmediaelement
Papercut-SMTP
Papercut SMTP是2合1快速电子邮件查看器和内置SMTP服务器(仅设计用于接收邮件)。https://github.com/ChangemakerStudios/Papercut-SMTPgithub.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/Prismgithub.com/PrismLibrary/Prism
ReactiveUI
ReactiveUI是适用于所有.NET平台的可组合的跨平台MVVM框架。
ReactiveUI受到功能性反应式编程范式的启发,该模型允许您将用户输入建模为随时间变化的函数。这非常酷,因为它使您可以从用户界面中抽象出可变状态,并在一个易读的地方围绕一种功能表达想法,同时提高应用程序的可测试性。https://github.com/reactiveui/ReactiveUIgithub.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/MvvmCrossgithub.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/mvvmlightgithub.com/lbugnion/mvvmlight
3.开源的WPF控件库
WPF做桌面开发是很有优势的,除了微软自带的控件外,还有很多第三方的控件库,比如收费的Dev Express For WPF、Telerik For WPF等。
人命币玩家先看这几个,都是收费的控件库!
- DevExpress WPF Controls:https://www.devexpress.com/
- Telerik UI:https://www.telerik.com/
- Ultimate UI:https://www.infragistics.com/products/wpf
- ComponentOne Studio:https://www.componentsource.com/product/componentone-studio-wpf
- Essential Studio:https://www.syncfusion.com/wpf-ui-controls
MaterialDesignInXamlToolkit
适用于Windows桌面的全面且易于使用的Material Design主题和控件库,MaterialDesignInXAML是一款开源免费的控件库!
特点
- 所有主要WPF Framework控件的材料设计样式
- 支持该主题的其他控件,包括“多功能按钮”,“卡片”,“对话框”,“时钟”
- 根据Google的指南,轻松配置调色板(在设计和运行时)
- 完整的材料设计图标图标包
- 轻松过渡效果
- 与Dragablz,MahApps兼容
- 源项目中包含的演示应用程序 案列截图 支持主题风格切换

各种按钮

输入验证框

标签

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

对话框

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/

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

Live-Charts/Live-Chartsgithub.com/Live-Charts/Live-Charts
HandyControl
一些简单且常用的WPF控件,黑白主题切换!


4.wpf的相关扩展
CefSharp
基于Chromium嵌入式.NET框架 https://github.com/cefsharp/CefSharpgithub.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.DotNetgithub.com/ZeBobo5/Vlc.DotNet
WpfAnimatedGif
一个简单的库,可在WPF中显示动画GIF图像,可在XAML或代码中使用 https://github.com/XamlAnimatedGif/WpfAnimatedGifgithub.com/XamlAnimatedGif/WpfAnimatedGif
http://GMap.NET
开源,强大,免费和跨平台的.NET地图控件 https://github.com/judero01col/GMap.NETgithub.com/judero01col/GMap.NET
Spire
Office文档操作控件 https://www.e-iceblue.com/www.e-iceblue.com/
如果你有好的开源WPF项目,欢迎推荐!