WPF(Windows Presentation Foundation)是微軟推出的基於Windows 的使用者介面框架,屬於.NET Framework 3.0的一部分。它提供了統一的程式設計模型、語言和框架,真正做到了分離介面設計人員與開發人員的工作;同時它提供了全新的多媒體互動使用者圖形介面。
微軟提供的WPF控制元件的功能很強大,但是樣式不漂亮,需要專業的美工設計樣式或面板。圈子裡總有無私奉獻的大牛們分享既漂亮又好用的WPF元件庫,下面收集了幾款非常優秀的WPF開源元件。
開源專案是眾多組織與個人分享的元件或專案,作者付出的心血我們是無法體會的,所以首先大家要心存感激、尊重。請嚴格遵守每個專案的開源協議後再使用。尊重智慧財產權,共建和諧開源社群。
Fluent/Ribbon是微軟在其最新桌面作業系統Windows 7中使用的圖形使用者介面。 Windows平臺的進化,伴隨著系統圖形介面的重新設計。從Windows XP到Windows Vista,最大的革新就是Windows Aero的引入。在Windows 7 中,Aero被保留下來。 但是,在未來,Windows 7的圖形使用者介面將朝著Office 2007相同的方向,名稱為Fluent/Ribbon。
Fluent.Ribbon是一個實現了類似Office使用者介面的WPF元件。它提供諸如RibbonTabControl、Backstage、Gallery、QuickAccessToolbar、ScreenTip等控制元件。
- 開發環境要求
- Visual Studio 2019 (16.6)或更高版本。
- .NET Core v3.1.300 或更高版本的SDK。
AvalonDock是一個WPF文件和工具窗口布局容器,用於以與許多知名IDE(如Eclipse、Visual Studio、PhotoShop等)類似的方式排列文件和工具視窗。
- 類似 Visual Studio 的主題樣式
- Dirkster.AvalonDock
- Dirkster.AvalonDock.Themes.Aero
- Dirkster.AvalonDock.Themes.Expression
- Dirkster.AvalonDock.Themes.Metro
- Dirkster.AvalonDock.Themes.VS2010
- Dirkster.AvalonDock.Themes.VS2013
- 教程
- AvalonDock [2.0] Tutorial Part 1 - Adding a Tool Window
- AvalonDock [2.0] Tutorial Part 2 - Adding a Start Page
- AvalonDock [2.0] Tutorial Part 3 - AvalonEdit in AvalonDock
- AvalonDock [2.0] Tutorial Part 4 - Integrating AvalonEdit Options
- AvalonDock [2.0] Tutorial Part 5 - Load/Save Layout with De-Referenced DockingManager
- GitHub:https://github.com/Dirkster99/AvalonDock
AvalonEdit是基於WPF的可擴充套件的文字編輯器。它是SharpDevelop 4.x“Mirador”及更高版本中基於WPF的文字編輯器的名稱。它也被用於ILSpy和許多其他專案。
- 示例程式
- https://github.com/icsharpcode/ILSpy/ ILSpy .NET decompiler
- https://github.com/KirillOsenkov/MSBuildStructuredLog A logger for MSBuild
- https://github.com/aelij/RoslynPad RoslynPad
- https://github.com/huangjia2107/XamlViewer LightWeight Xaml Editor
- GitHub:https://github.com/icsharpcode/AvalonEdit
Avalonia是一個基於XAML的跨平臺UI框架,提供靈活的樣式系統,並支援多種作業系統,如通過.NET framework和.NET Core的Windows、通過Xorg的Linux、macOS。Avalonia已準備好進行通用桌面應用程式開發。該專案目前並不成熟,可能會有一些bug。
- GitHub:https://github.com/AvaloniaUI/Avalonia
-
- 成熟專案示例
(1)AvalonStudio
(2)AvaloniaILSpy
GitHub: https://github.com/icsharpcode/AvaloniaILSpy
Xceed出品的WPF擴充套件工具包是建立下一代Windows應用程式的WPF控制元件、元件和實用程式的首選集合。使用它來構建外觀專業、現代且易於使用的WPF應用程式。它已經在這裡、Codeplex和NuGet上下載了100多萬次。
包含以下控制元件
Plus版本中的其他控制元件和功能
WPF業務套件中的其他控制元件和功能
- GitHub:https://github.com/xceedsoftware/wpftoolkit
CefSharp是一種將功能齊全的符合標準的web瀏覽器嵌入C#或VB.NET應用程式的簡單方法。CefSharp擁有WinForms和WPF應用程式的瀏覽器控制元件,以及自動化專案的OffScreen版本。CefSharp基於Chromium Embedded Framework,這是Google Chrome的開源版本。
CefSharp採用現代網路標準,支援HTML5、JavaScript、CSS3和HTML5音訊/視訊元素。通過WebGL支援3D內容,WebGL使用OpenGL/DirectX進行硬體加速渲染。CefSharp包括用於PDF、網頁列印和WebKit Inspector(開發工具)的嵌入式模組。CefSharp沒有外部依賴項,完整版本的CefSharp只會為您的應用程式增加約80MB的記憶體。
- 整合功能
- 可以通過程式設計方式執行Javascript,向Javascript公開.Net類,並在Javascript事件觸發時接收回調。
- 可以通過程式設計方式呼叫DevTools方法
- 可以使用CefSharp顯示使用HTML5構建的嵌入式UI,或者顯示遠端web內容和web應用程式。
- 官網:http://cefsharp.github.io
- GitHub:https://github.com/cefsharp/CefSharp
示例:https://github.com/cefsharp/CefSharp/tree/master/CefSharp.Wpf.Example