示例:自定義WPF底層控件UI庫 HeBianGu.General.WpfControlLib V2.0版本

一、目的:封裝了一些控件到自定義的控件庫中,方便快速開發

 

二、實現功能:

基本實現常用基礎控件,滿足常規軟件快速開發

同時支持框架.Net Core 3.0 + ,.Net FrameWork 4.5+

 

三、整體概況

1、登錄頁面:

登錄頁面只需要繼承LoginWindowBase基類,並且設置樣式 Style="{StaticResource S.Window.Login.Default}"即可

2、主頁面:

 

主頁面只需繼承LinkWindowBase基類,並且設置樣式Style="{DynamicResource S.Window.Link.Default}"即可

整體主窗口採用ViewBox方式加載,當縮放窗口或應用到到其他分辨率設備都會兼容

3、主題配置信息保存

主題配置信息已經封裝在ApplicationBase中,會自動在退出時保存設置好的配置信息(如:主題顏色、字體大小等)

總結:應用此模式可以達到複用的目的,將通用部分封裝到底層,如需修改樣式只需修改Style樣式文件或修改依賴屬性即可滿足功能修改

 

四、主題設置

淺色主題示例如下:

深色主題示例如下圖:

 

主題設置功能主要包括:

1、設置主題主顏色

主題顏色主要用來標識要突出顯示的部分,目前可以選擇內置顏色、可以選擇跟隨系統主題顏色、可以自定義選擇顏色、可以使用動態主題(即設置主題每隔指定時間自動變化)

2、設置主題

主題目前實現四中主題,分別是淺色主題、深色主題、灰色主題、主顏色爲主題

3、設置字體大小

字體大小目前內置兩種,分別是Large和Small,其中這兩種顏色採用注入的方式加載,即可以在程序加載時設置着兩種字體的初始值

4、其他配置

包括中英文、設置標準行高等等可以在程序加載時進行初始化設置,這裏不做過多介紹

 

總結:這樣設計的目的是審美因人而異,使用自定義配置的方式可以儘可能多的滿足多變的需求

 

五、其他基礎控件

 

1、數據表格

 

a、兼容主題字體和主題設置,後面將要提到的所有控件均已應用主題設置,不做再說明

b、每頁顯示條數

可以設置每頁要顯示的條數

c、搜索

可以設置搜索過濾條件,包含指定搜索項的條目纔會顯示

d、頁面跳轉

可以上一頁、下一頁、第一頁、最後一頁、指定頁

e、頁面信息

當前頁屬於數據源的第幾條至第幾條,數據源的總條目數

f、兩種風格的網格頁面

總結:以上功能封裝在控件PagedDataGrid中,只需綁定數據源即可實現以上功能,其中打印、導出等功能暫時沒有實現

 

2、樹形列表

a、支持按類別篩選

如上圖、選擇指定類型來過濾列表

b、支持按條件搜索

如上圖、輸入條件可以過濾指定條件

 

總結:使用方式爲綁定數據源到TreeListView控件中

3、其他常用控件

a、對話框

採用內置對話框,不是應用窗口,只是覆蓋層,可以避免窗口對話框引起的一些問題

b、對話窗口自定義對話窗口

相對系統對話窗口更美觀,增加顯示和隱藏效果,通過注入的方式可以自定義按鈕個數和功能

c、消息列表

目前有兩種模式,分別是在窗口內顯示和Window系統中顯示,可以根據需求自定義顯示方式,示例如下

d、在線升級示例如下

e、導航菜單示例如下

 

f、其他功能包括

按鈕控件、文本輸入框控件、下拉列表控件、數字控件、日期選擇控件、支持綁定的密碼框控件、進度條控件、拖動控件、樹形控件、分頁控件以及其他自定義控件

以上控件均已實現主題顏色、字體大小切換等,可以滿足常用軟件的功能

 

其中整體結構使用的自定義Mvc方式加載,參考地址:https://blog.csdn.net/u010975589/article/details/100019431

由於控件過多不做詳細介紹,有興趣的可以下載源碼或加載nuget包

 

六、使用方式

 

nuget包添加如下圖

 

說明:此示例部分功能部分代碼參考第三方框架,開源只應用於學習和參考,不做商用目的

 

應用此框架的其他示例:

 

 

七、下載地址

GitHub下載地址:https://github.com/HeBianGu/WPF-ControlBase.git

 

安裝包示例下載地址:

鏈接:https://pan.baidu.com/s/1y2UfDKIxoSOffj36gl7fOw
提取碼:l2ia 
 

 

更新:2019.12.16  增加.Net Core 3.0

目前已支持Core3.0 和.net 4.5 如有解決方案程序集無法加載請安裝這兩個框架

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章