幾十款 WPF 控件 - UI 庫,總有一款適合你
獨立觀察員 2022 年 10 月 16 日
引言
眾所周知,使用?WPF?框架能夠開發出功能強大、界面美觀的桌面端應用。能夠達到這個效果,各種 WPF 的控件庫、UI?庫功不可沒。所以,想著能不能收集一下目前市面上存在的庫,以便在今后需要使用的時候能夠手到擒來。這不收集不知道,一收集嚇一跳,竟然收集出了三十多款?UI?/?控件?庫,接下來就一一分享給大家。
01、HandyControl
功能簡介:HandyControl 是一套 WPF 控件庫,它幾乎重寫了所有原生樣式,同時包含 80 余款自定義控件。
開源情況:開源免費。
源碼地址:https://gitee.com/handyorg/HandyControl?
克隆地址:https://gitee.com/DLGCY_Clone/HandyControl?
文檔地址:https://handyorg.github.io/handycontrol/?
效果演示:https://gitee.com/handyorg/HandyControl#%E6%A6%82%E8%A7%88?
02、MahApps.Metro
功能簡介:一個 Metro 風格的 WPF UI 庫。A framework that allows developers to cobble together a better UI for their own WPF applications with minimal effort.?
開源情況:開源免費。
源碼地址:https://github.com/MahApps/MahApps.Metro?
克隆地址:https://gitee.com/DLGCY_Clone/MahApps.Metro?
文檔地址:https://mahapps.com/docs/guides/quick-start?
效果演示:https://github.com/MahApps/MahApps.Metro#screenshots?
03、Xceed?Extended WPF Toolkit?
功能簡介:WPF 中缺失的控件。All the controls missing in WPF. Over 1 million downloads.
開源情況:部分控件開源免費(v4.0.0 版本后的許可證適用于非商業用途),有另外的收費部分。
源碼地址:https://github.com/xceedsoftware/wpftoolkit?
克隆地址:https://gitee.com/DLGCY_Clone/wpftoolkit?
文檔地址:https://github.com/xceedsoftware/wpftoolkit/wiki#controls?
效果演示:
04、Kino.Toolkit.Wpf
功能簡介:Kino.Toolkit.Wpf 是一組簡單實用的 WPF 控件與工具,用于介紹自定義控件的入門。
開源情況:開源免費。
源碼地址:https://github.com/DinoChan/Kino.Toolkit.Wpf?
克隆地址:https://gitee.com/DLGCY_Clone/Kino.Toolkit.Wpf?
文檔地址:https://www.cnblogs.com/dino623/p/WPFCustomControlBlogs.html?
效果演示:
05、WPFUI
功能簡介:WPF 樣式庫。
開源情況:開源免費。
源碼地址:https://gitee.com/zwt_obj/WPFUI?
克隆地址:https://gitee.com/dlgcy/WPFUI?
文檔地址:無
效果演示:https://gitee.com/zwt_obj/WPFUI#ui%E5%B1%95%E7%A4%BA?
06、PP.Wpf
功能簡介:PP 為 WPF 做的控件庫。
開源情況:開源免費。
源碼地址:https://github.com/LowPlayer/PP.Wpf?
克隆地址:https://gitee.com/DLGCY_Clone/PP.Wpf?
文檔地址:https://www.cnblogs.com/pumbaa/p/14298931.html?
效果演示:
07、adonis-ui
功能簡介:提供經典但增強的窗體視覺效果的 WPF 輕量級 UI 工具庫。Lightweight UI toolkit for WPF applications offering classic but enhanced windows visuals.
開源情況:開源免費。
源碼地址:https://github.com/benruehl/adonis-ui?
克隆地址:https://gitee.com/DLGCY_Clone/adonis-ui?
文檔地址:https://benruehl.github.io/adonis-ui/docs/getting-started/introduction/?
效果演示:https://github.com/benruehl/adonis-ui#features?
08、CC.WPFTools
功能簡介:WPF 的控件庫 包裝常用功能及 UI 控件。
開源情況:開源免費。
源碼地址:https://gitee.com/chenhome/WPFTOOLS?
克隆地址:https://gitee.com/DLGCY_Clone/WPFTOOLS?
文檔地址:https://www.yuque.com/chch/wpftools?
外部關系:參考了 MahApps.Metro 和?Modern UI for WPF (MUI)
效果演示:
09、Modern UI for WPF (MUI)
功能簡介:Modern UI for WPF。
開源情況:開源免費。
源碼地址:https://github.com/firstfloorsoftware/mui?(已歸檔)
克隆地址:https://gitee.com/DLGCY_Clone/mui?
文檔地址:https://github.com/firstfloorsoftware/mui/wiki/Getting-started?
效果演示:
10、CookPopularControl
功能簡介:CookPopularControl 是一款流行的 WPF 控件庫,提供近 70 多款常用的組件,同時提供一些常用的工具類方法。
開源情況:開源免費。
源碼地址:https://gitee.com/cook-csharp/CookPopularControl?
克隆地址:https://gitee.com/DLGCY_Clone/CookPopularControl?
文檔地址:https://gitee.com/cook-csharp/CookPopularControl#welcome-to-cookpopularcontrol?
效果演示:https://gitee.com/cook-csharp/CookPopularControl#%E4%BD%BF%E7%94%A8?
(Demo 編譯不成功,以下圖片來自上面的鏈接)
11、PropertyTools
功能簡介:一些 WPF 自定義控件:PropertyGrid, DataGrid, 多選 TreeView, ColorPicker 等等。
開源情況:開源免費。
源碼地址:https://github.com/PropertyTools/PropertyTools?
克隆地址:https://gitee.com/DLGCY_Clone/PropertyTools?
文檔地址:無。
效果演示:https://github.com/PropertyTools/PropertyTools#propertygrid?
(以下為各 Demo 截圖,DialogDemos 和 DataGridDemo 未編譯成功)
12、MaterialDesignInXamlToolkit
功能簡介:Google's Material Design in XAML & WPF, for C# &?VB.Net.?
開源情況:開源免費。
源碼地址:https://github.com/MaterialDesignInXAML/MaterialDesignInXamlToolkit?
克隆地址:https://gitee.com/DLGCY_Clone/MaterialDesignInXamlToolkit?
文檔地址:https://github.com/MaterialDesignInXAML/MaterialDesignInXamlToolkit//wiki?
效果演示:https://github.com/MaterialDesignInXAML/MaterialDesignInXamlToolkit#-screenshots?
13、RRQMSkin
功能簡介:適用于 WPF (所有框架) 的控件皮膚庫,主要含有 Window 窗體,水波紋按鈕,儀表盤,扇形進度條等。
開源情況:開源免費。
源碼地址:https://gitee.com/RRQM_Home/RRQMSkin?
克隆地址:https://gitee.com/DLGCY_Clone/RRQMSkin?
文檔地址:無。
效果演示:https://blog.csdn.net/qq_40374647/article/details/108284794?
14、Layui-WPF
功能簡介:這是一個 WPF 版的 Layui 前端 UI 樣式庫。
開源情況:開源免費。
源碼地址:https://github.com/Layui-WPF-Team/Layui-WPF?
克隆地址:https://gitee.com/DLGCY_Clone/Layui-WPF?
文檔地址:無。
效果演示:https://github.com/Layui-WPF-Team/Layui-WPF#layui-wpf?
(貼一些與上面鏈接中不一樣的圖。另外,上面鏈接和以下皆沒有出現的,有些是還沒有實現的)
15、Newbeecoder.UI
功能簡介:一個網友自制的 WPF UI 庫。
開源情況:收費。
源碼地址:無。
克隆地址:無。
文檔地址:無。
效果演示:https://blog.csdn.net/liaohaiyin/article/details/124578601?
16、Panuon.WPF.UI
功能簡介:一個專業的定制化 UI 引擎。(舊版本名為?Panuon.UI.Silver?[Panuon.UI 的優化版本])
開源情況:開源免費。
源碼地址:https://github.com/PanuonGroup/Panuon.WPF.UI?
克隆地址:https://gitee.com/DLGCY_Clone/Panuon.WPF.UI?
文檔地址:https://github.com/PanuonGroup/Panuon.WPF.UI/wiki/Home-zh-CN?
效果演示:https://github.com/PanuonGroup/Panuon.WPF.UI/blob/master/readme.zh-CN.md#%E7%A4%BA%E4%BE%8B?
17、Arthas-WPFUI
功能簡介:一款?WPF 控件庫。
開源情況:開源免費。
源碼地址:https://github.com/0x6863/Arthas-WPFUI?
克隆地址:https://gitee.com/DLGCY_Clone/Arthas-WPFUI?
文檔地址:無。
效果演示:https://github.com/0x6863/Arthas-WPFUI#arthas?
(以下為 master 分支的 Demo 截圖;最新的為 develop 分支,不過刪除了好多內容)
18、AduSkin
功能簡介:一款簡單漂亮的 WPF UI,融合多個開源框架組件,為個人定制的 UI,可供學者參考和使用。
開源情況:開源免費。
源碼地址:https://github.com/aduskin/AduSkin?
克隆地址:https://gitee.com/DLGCY_Clone/AduSkin?
文檔地址:無。
外部關系:感謝開源框架 HandyControl、Arthas、WPF.UI(ZdfFlatUI)
效果演示:https://github.com/aduskin/AduSkin#%E7%BB%84%E4%BB%B6%E5%B1%95%E7%A4%BA?
19、HeBianGu/WPF-ControlBase
功能簡介:Wpf 封裝的自定義控件資源庫。
開源情況:開源免費。
源碼地址:https://github.com/HeBianGu/WPF-ControlBase?
克隆地址:https://gitee.com/DLGCY_Clone/WPF-ControlBase?
文檔地址:https://github.com/HeBianGu/WPF-ControlBase#%E4%BD%BF%E7%94%A8?
效果演示:https://github.com/HeBianGu/WPF-ControlBase#%E6%A1%88%E4%BE%8B?
(項目過多,生成不便,以下為前三個 Demo 的截圖,其它的參考上面的鏈接)
20、FruitVentDesign
功能簡介:這是一個基于.net core 3.1 寫的 WPF UI 控件庫。
開源情況:開源免費。
源碼地址:https://gitee.com/fruitvent/fruit-vent-design?
克隆地址:https://gitee.com/DLGCY_Clone/fruit-vent-design?
文檔地址:無。
外部關系:有使用? Xceed Extended WPF Toolkit?。
效果演示:https://blog.csdn.net/weixin_39552347/article/details/122855029?
(貼些上面鏈接沒有的截圖)
21、DMSkin
功能簡介:DMSkin WPF 樣式 UI 框架 | WPF Borderless Window | Custom Controls & Styles | MVVM Support
開源情況:開源免費。
源碼地址:https://github.com/944095635/DMSkin?
克隆地址:https://gitee.com/DLGCY_Clone/DMSkin?
文檔地址:https://github.com/944095635/DMSkin#2%E9%A1%B9%E7%9B%AE%E6%A8%A1%E5%9D%97%E4%BD%BF%E7%94%A8%E8%AF%B4%E6%98%8E?
外部關系:有使用?AduSkin 。
效果演示:http://www.dmskin.com/?
(以下截圖為 3 個 Demo 的全部內容,其余為空)
22、WPF.UI(ZdfFlatUI)
功能簡介:WPF UI 庫(ZdfFlatUI)。
開源情況:開源免費。
源碼地址:https://github.com/zhidanfeng/WPF.UI?
克隆地址:https://gitee.com/DLGCY_Clone/WPF.UI?
文檔地址:https://www.cnblogs.com/zhidanfeng/?(作者博客)
效果演示:
23、ModernWPF
功能簡介:現代風格的 WPF 樣式和控件。Modern styles and controls for your WPF applications。
開源情況:開源免費。
源碼地址:https://github.com/Kinnara/ModernWpf?
克隆地址:https://gitee.com/DLGCY_Clone/ModernWpf?
文檔地址:https://github.com/Kinnara/ModernWpf#quick-start?
效果演示:https://github.com/Kinnara/ModernWpf#screenshots?
(未編譯成功,效果見上面鏈接)
24、Fluent.Ribbon
功能簡介:像 Office 一樣的 WPF Ribbon 控件。WPF Ribbon control like in Office。
開源情況:開源免費。
源碼地址:https://github.com/fluentribbon/Fluent.Ribbon?
克隆地址:https://gitee.com/DLGCY_Clone/Fluent.Ribbon?
文檔地址:https://fluentribbon.github.io/documentation/?
效果演示:https://github.com/fluentribbon/Fluent.Ribbon/wiki/Screenshots?
題外話:本次測試了大多數項目都是支持多 SDK 的,但是我的電腦并沒有安全部的 SDK,玩玩最終就是刪除其中某些 SDK 的支持,或者是死活編譯不通過。目前為止,只有本項目有以下提示,并且能調出安裝界面,提出表揚。
不過最終還是沒有編譯成功。效果看上面的鏈接吧。
25、EASkins
功能簡介:.NET WinForm 和 WPF 的 UI 界面庫,收集整合多個優秀庫及示例。
開源情況:開源免費。
源碼地址:https://gitee.com/airscrat/EASkins/tree/EASkins_WPF/?
克隆地址:https://gitee.com/DLGCY_Clone/EASkins/tree/EASkins_WPF/?
文檔地址:無。
效果演示:https://gitee.com/airscrat/EASkins?(見 ReadMe)
26、Rubyer-WPF
功能簡介:一款通用的 WPF 主題控件包。
開源情況:開源免費。
源碼地址:https://gitee.com/wuyanxin1028/rubyer-wpf?
克隆地址:https://gitee.com/DLGCY_Clone/rubyer-wpf?
文檔地址:https://www.cnblogs.com/ensin/p/14309464.html?
效果演示:https://gitee.com/wuyanxin1028/rubyer-wpf#demo-%E6%88%AA%E5%9B%BE?
(未編譯成功,效果見上面鏈接)
27、wpf.controls
功能簡介:一套入門基礎 UI 庫。
開源情況:開源免費。
源碼地址:https://github.com/kwonganding/wpf.controls?
克隆地址:https://gitee.com/DLGCY_Clone/wpf.controls?
文檔地址:https://www.cnblogs.com/anding/p/5018363.html?
效果演示:https://github.com/kwonganding/wpf.controls#%E7%AC%AC%E4%B8%80%E7%89%88%E7%9A%84%E6%95%88%E6%9E%9C%E5%9B%BE?
V1:
28、WPFDevelopers.Minimal
功能簡介:WPF 基礎控件庫。
開源情況:開源免費。
源碼地址:https://github.com/WPFDevelopersOrg/WPFDevelopers.Minimal?
克隆地址:https://gitee.com/DLGCY_Clone/WPFDevelopers.Minimal?
文檔地址:https://github.com/WPFDevelopersOrg/WPFDevelopers.Minimal/blob/main/README-zh.md#%E4%BD%BF%E7%94%A8%E6%96%B9%E6%B3%95?
效果演示:https://github.com/WPFDevelopersOrg/WPFDevelopers.Minimal#preview?
29、WPFDevelopers
功能簡介:WPF?自定義高級控件庫。此項目是公眾號《WPF 開發者》日常分享 Sample,持續更新中。
開源情況:開源免費。
源碼地址:https://github.com/WPFDevelopersOrg/WPFDevelopers?
克隆地址:https://gitee.com/DLGCY_Clone/WPFDevelopers?
文檔地址:無。
效果演示:https://github.com/WPFDevelopersOrg/WPFDevelopers#windowacrylicblur?
98、跨平臺
98.1、ReactiveUI:https://github.com/reactiveui/ReactiveUI?
99、商業組件
99.1、DevExpress WPF UI Library:https://www.devexpress.com/products/net/controls/wpf/?
99.2、Telerik UI for WPF:https://www.telerik.com/products/wpf/overview.aspx?
99.3、Syncfusion WPF controls:https://www.syncfusion.com/wpf-controls?(社區版申請:https://www.syncfusion.com/products/communitylicense?)
99.4、infragistics?Ultimate UI for WPF:https://www.infragistics.com/products/wpf?
99.5、ComponentOne Studio WPF:https://www.componentsource.com/product/componentone-studio-wpf?
資源
列舉了這么多庫,也貼了很多鏈接和圖片,其實還是管中窺豹。真正要深入了解,最好還是要下載下源代碼進行研究比較。或者,如果只是需要對比以便使用,那么運行起各個庫的 Demo 程序即可滿足需求。
好消息是,本人已將大部分庫的示例程序(除了一些編譯不成功或功能過于簡單的)編譯好了,可關注本人的微信公眾號 “獨立觀察員博客”(DLGCY_BLOG),回復 “wpfui” 即可獲取下載地址。
WPF
WPF 用戶控件分享之邊上帶輸入框的圓圈
分享一個 WPF 氣泡彈框
WPF 表單驗證之 INotifyDataErrorlnfo 接口的使用示例
[翻譯] WPF 中用戶控件?DataContext/Binding 和依賴屬性的問題
OxyPlot 導出圖片及 WPF 元素導出為圖片的方法
讓 WPF 的 RadioButton 支持再次點擊取消選中的功能
WPF DataGrid 如何將被選中行帶到視野中
WPF 觸屏事件后觸發鼠標事件的問題及 DataGrid 誤觸問題
WPF DataGrid 通過自定義表頭模擬首行固定
WPF ComboBox 使用 ResourceBinding 動態綁定資源鍵并支持語言切換
【翻譯】WPF 中附加行為的介紹 Introduction to Attached Behaviors in WPF
WPF 使用 Expression Design 畫圖導出及使用 Path 畫圖
WPF?MVVM?彈框之等待框
解決 WPF 綁定集合后數據變動界面卻不更新的問題(使用 ObservableCollection)
WPF?消息框?TextBox?綁定新數據時讓光標和滾動條跳到最下面
真?WPF?按鈕拖動和調整大小
WPF?MVVM?模式下的彈窗
WPF?讓一組 Button 實現?RadioButton?的當前樣式效果
WPF?原生綁定和命令功能使用指南
WPF?用戶控件的自定義依賴屬性在?MVVM?模式下的使用備忘
在WPF的MVVM模式中使用OCX組件