.NET Core/.NET5/.NET6 開源項目匯總11:WPF組件庫1
WPF(Windows Presentation Foundation)是微軟推出的基於Windows 的用戶介面框架,屬於.NET Framework 3.0的一部分。它提供了統一的編程模型、語言和框架,真正做到了分離介面設計人員與開發人員的工作;同時它提供了全新的多媒體交互用戶圖形介面。
微軟提供的WPF控制項的功能很強大,但是樣式不漂亮,需要專業的美工設計樣式或皮膚。圈子裡總有無私奉獻的大牛們分享既漂亮又好用的WPF組件庫,下面收集了幾款非常優秀的WPF開源組件。
開源項目是眾多組織與個人分享的組件或項目,作者付出的心血我們是無法體會的,所以首先大家要心存感激、尊重。請嚴格遵守每個項目的開源協議後再使用。尊重知識產權,共建和諧開源社區。
MaterialDesignInXAML完全開源,是WPF最流行的GUI庫之一,該庫還與MahApps和Dragablz兼容。通過XAML工具箱中的設計,可以使用現代流行的設計語言輕鬆地將漂亮的桌面應用程式帶到生活中。
組件特徵
- 支援大多數標準WPF控制項的樣式和變體
- 更多的附加控制項,以支援材質設計的美觀性和流動性
- 在設計和運行時輕鬆配置材質設計調色板
- 用於輕鬆構建GUI動畫的轉換API
- 獨立工作,也與其他流行的WPF框架MahApps和Dragablz兼容
- 支援MVVM框架
示例效果
1、首頁
布局簡潔、清爽、效果直觀
2、支援主題風格切換
該控制項庫配有數十種顏色風格,滿足大部分配色要求。也可以自定義皮膚。
3、按鈕
多種形狀的交互按鈕,如圓形按鈕、圖標按鈕、按鈕進度、按鈕文字提示等等,Web中常見的效果WPF中也可以簡單地使用。
4、輸入驗證框
表單驗證,常規做法是在ViewModel中寫業務邏輯驗證程式碼,或者在XAML中寫驗證表達式。該控制項庫實現了較多的驗證器,可直接使用,程式碼使用簡單,且介面提示很友好,類似手機端輸入、錯誤提示。
5、標籤
控制項英文Chips,可用於標籤,當列表顯示數據較多時,可顯示多個標籤,用於點擊過濾。
6、卡片
Cards,卡片式布局,列表、表格顯示數據有時是很枯燥的,用卡片會給人耳目一新的感覺,很清爽,展示數據也一目了然,可圖片+文字的形式展示,非常友好。
7、圖標
Icon Pack,有成百上千鍾矢量圖標供選擇,極大的方便了開發,可用於菜單圖標、按鈕圖標等。
8、分組框
Group Boxes,組合框,類似卡片,組合框Header自定義很方便,可添加圖片
9、進度條
各式各樣的進度條,還在為調整進度條各個部分而煩惱嗎?這個控制項庫寫了幾種樣式,幾乎滿足了一般需求使用了,不滿足在上面基礎上修改也是十分方便的。
10、對話框
遮罩式對話框,支援整個窗體遮罩,也支援窗體部分用戶控制項對話框,非常實用
11、抽屜
Drawer,抽屜式控制項,支援東、南、西、北四個方向打開抽屜。
12、提示資訊
提示資訊,這種方式不用彈框(免得用戶點擊關閉,即時加定時器自動關閉也不是很友好),可用於提示性的資訊,看一眼即可這種。
更多功能請參考官網與開源項目。
開源地址://github.com/MaterialDesignInXAML/MaterialDesignInXamlToolkit
Metro是一個框架,允許開發人員用最小的努力為自己的WPF應用程式設計出Metro或現代UI。
- 增強默認控制項
Metro重寫了所有常見WPF控制項的默認樣式,並為它們提供了現代的外觀。
- 樣式與自定義控制項
Metro還包括一些基於WindowsPhone、Windows8和Windows10(UWP)應用程式概念的自定義控制項。
- 開源
MahApps.Metro的源程式碼託管在GitHub上,包含了自己構建它所需的一切,所以請訪問並幫助我們改進它。
功能展示
開源地址://github.com/MahApps/MahApps.Metro
AduSkin是一款簡單漂亮的WPF UI,融合多個開源框架組件,為個人訂製的UI,可供學者參考和使用。
- 產品功能
控制項庫
動態修改皮膚
- 產品示例
- 【AduMusic Mini】
- 【AduShopping】
- 【AduChat】
- 【心理FM】
- 【SuperEvil】
- 【HttpTool】
-
特色控制項組合案例
開源地址://github.com/aduskin/AduSkin
參考文獻:
- //www.cnblogs.com/lsq6/archive/2019/12/01/11966708.html
- //dotnet9.com/9373.html
- //www.cnblogs.com/aduskin/archive/2019/12/26/12101712.html
- //www.cnblogs.com/lsq6/archive/2019/12/04/11980648.html