wpf開源控制項庫 - handycontrol

wpf開源控制項庫 - handycontrol

一個很多人參與貢獻的wpf開源控制項項目

最后更新 2019/12/9 下午1:45
沙漠尽头的狼
预计阅读 17 分钟
分类
WPF
专题
wpf控制項庫 wpf開源項目
标签
.NET WPF 控制項庫 wpf開源項目 開源

前言

歷經 3 個白天 2 個黑夜(至凌晨 2 點),dotnet9 小編經過反覆修改、潤色,終於完成此文編寫(本文略長,手機黨請考慮流量),只能說小編我不容易呀不容易。

完成此文編寫後,小編我能想像到《handycontrol》控制項庫作者及眾多貢獻者們,當初沒日沒夜碼磚編寫此控制項庫的各種研究、容錯的場景,他們是一群多麼負有激情、多麼樂於分享的一群人啊,謝謝你們分享這麼一套優秀的控制項庫給 wpf 從業者。

由於本文略長,建議讀者查看以下導航目錄,根據讀者個人關注點點擊閱讀,也可按住 ctrl + f 組合鍵搜索常用控制項名字進行搜索閱讀,當然小編是希望讀者都能按文章順序閱讀啦,哈哈。

一、寫在文章最前面的話

應博客園園友@郭達·斯坦森 推薦,dotnet9 小編本文居間開源 c# wpf 控制項庫《handycontrol》,希望大家能夠喜歡,同時亦歡迎大家推薦優秀開源 wpf 控制項庫給小編,小編在此謝謝大家對 dotnet 技術的關注和支持。

評論在此文第 51 樓:《《dotnet9》系列-開源 c# wpf 控制項庫 2《panuon.ui.silver》強力推薦》

說點本文之前兩篇控制項庫推薦文章的影響:

繼前兩篇開源 c# wpf 控制項庫(庫 1,庫 2)受廣大網友推薦後,dotnet9 小編備受鼓舞,讓小編仿佛看到了 dotnet 蓬勃發展的 200 幾年。

謝謝大家在博客園的大力推薦和留下的數十條文末評論,使小編我堅定了繼續寫優質 c# wpf 分享文章的信念,下面是近期博客園首頁文章推薦截圖:博客園。

本站單日 ip 訪問量又突破新高,達到了 500 訪問量,又上一個新台階,謝謝廣大網友。

另外,亦是由於兩篇文章大火,dotnet9 小編的個人博客站點出了點小插曲,以下是本站最新快訊:

但本站不會因該小插曲而停止繼續給大家分享優質文章的步伐,以上是站長的聲明,謝謝大家繼續支持本站站長 dotnet9 小編。

二、關於控制項庫《handycontrol》

2.1交流社區

github 地址:https://github.com/HandyOrg/HandyControl

貢獻者:nabian、yanchao891012、ghost1372、guanguanchuangyu、noctwolf、dingpingzhang、xianyun666、m0n7y5、gitter-badger、afunc233 等等。

作者推薦的 c#及 wpf 學習博客連結:納邊、林德熙、呂毅、dinochan、玩命夜狼 等等。

以下是兩種主題控制項庫概覽,先給大家一個大致印象,然後我開始居間該控制項庫經典案例及詳細控制項居間,希望大家喜歡我這樣的居間風格。

2.2白色主題

2.3黑色主題

三、基於控制項庫衍生的經典 case 案例

優秀的控制項庫肯定就有一群志同道合的小夥伴追隨,從控制項庫作者建立的兩個 qq 群人數即可看出,使用此控制項庫的朋友很多,dotnet9 小編就和控制項庫作者從中遴選出幾個比較典型的項目舉例,讀者朋友可以看看,《handycontrol》控制項庫是不是非常適合您的項目?

3.1 case 案例 1

軟體名:phpenv,瀏覽地址:https://www.phpenv.cn/。

軟體簡介:phpenv 是運行在 windows 系統上的完全綠色的 php 集成環境,集成了 apache、nginx 等 web 組件,支持不同 php 版本共存,支持自定義 php 版本,自定義 mysql 版本。主打開發環境,也可以用作伺服器環境。擁有清除 php 環境阻礙、解除埠占用、支持切換 mysql 版本、修改 mysql 密碼,兼容其他集成環境,內置 redis、memcache 等其他服務,內置 composer 和功能強大的 cmd 命令行、tcp 埠進程列表等工具和實用功能。

3.2 case 案例 2

軟體名:automnbox,瀏覽地址:https://github.com/zsh2401/AutumnBox。

autumnbox 是什麼?一個對 google adb 工具包進行 gui 封裝的桌面程式,方便小白,幫助老鳥。

autumnbox 能幹什麼?

  1. 為您的設備刷入第三方 recovery
  2. 向設備推送文件
  3. 一鍵激活黑域服務
  4. 一鍵激活冰箱
  5. 解鎖 system,獲取完整 root 控制權
  6. 以拓展模塊為中心的功能開發思想,將來將會支持越來越多的功能

四、特色控制項詳細居間

居間控制項肯定少不了特色控制項截圖和文字描述,編寫本文時,dotnet9 小編不用再自己截圖、錄製 gif 動畫了等素材了,因為 《handycontrol》控制項庫作者非常優秀,本文大部分圖片素材來自控制項庫作者 github 倉庫,讀者您可以直接訪問此地址查看:https://github.com/HandyOrg/HandyControl。

下面 dotnet9 小編居間 hc(後文作者使用此簡寫表示 handycontrol)控制項時,會加上自己的使用體驗及觀點,如有不同觀點或建議,請在文末留言和小編討論,或者加作者 qq 交流群切磋交流,大家以技術會友,共同成長。

4.1各式按鈕

界面開發首先想到的就是按鈕,下面是《handycontrol》設計的幾類按鈕,是否有您中意的一款?

4.1.1 普通按鈕(button)

普通按鈕(button),一般桌面開發中,以下樣式的按鈕應該已經夠用了,當然也可以根據自家公司設計師的要求,在作者樣式基礎上加以擴展修改也是極方便的。

4.1.2 單選按鈕 (radiobutton)

單選按鈕 (radiobutton) ,也是挺漂亮,美化界面也必不可少。

4.1.3 切換按鈕 (togglebutton)

切換按鈕 (togglebutton) ,hc 作者設計有數種樣式,方便使得吧?

4.1.4 分割按鈕 (splitbutton)

分割按鈕 (splitbutton),可用於點擊按鈕彈出菜單業務場景下使用。

4.1.5 進度按鈕 (progressbutton)

進度按鈕 (progressbutton) ,在按鈕上顯示進度作者也挺有想法的,點擊上傳文件時,在界面空間比較緊湊時使用很方便。

4.1.6 按鈕分組 (buttongroup)

按鈕分組 (buttongroup),該控制項可替換常規菜單使得,即只有一級菜單的情形,或相關操作比較類似。

4.1.7 Shield

shield,shield 標記用於顯示即時狀態統計時很直觀。

4.1.8 Pagination

pagination ,表格等常用的分頁封裝控制項,大數據分頁展示使用很方便,分頁控制項樣式也是比較流行。

4.2標籤類控制項

提供的標籤類控制項較多,和 label 類似或擴展的控制項,dotnet9 小編把它們歸為一類。

4.2.1 label 標籤

label 標籤,常用的 label 標籤,漂亮吧?常規使用是 label 搭配 textbox 作為表單使用。

4.2.2 OutlineText

outlinetext 輪廓文本,添加各種字體後,text 也可以這麼好看的。

4.2.3 Tag

tag 標籤,用於搜索,可將常用搜索條件作為 tag 標籤,方便快速過濾得到用戶想要的結果,這個用戶體驗大大提高了吧,用戶都會表揚你的。

4.2.4 Badge

badge 徽章,網站中常用此樣式顯示庫版本及比較明顯的信息展示,很醒目有沒有?趕緊在自己的項目中使用吧。

4.2.5 Poptip

poptip,氣泡提示類控制項,自定義提示就是這麼方便。

4.3各式 block 塊控制項

各式 block 塊控制項,常見的是 textblock,textblock 與 label 標籤功能類似,下面是各式 block 塊控制項展示:

4.3.1 textblock 文本塊

textblock 文本塊,常用文本展示。

4.3.2ImageBlock

imageblock,圖片塊展示。

4.3.3 FloatingBlock

floatingblock,看見這個控制項想到了什麼?是不是想到看直播時一直給主播點讚送小花的情景?

4.3.4 RunningBlock

runningblock 滾動塊,跑馬燈式效果,用於桌面軟體打滾動廣告還是很好的,如果你是做視頻播放類軟體,用於彈幕也是很方便的。

4.4輸入編輯類控制項

作者提供的輸入編輯類控制項也著實不少,比如文本框、密碼框等等。

4.4.1 TextBox

textbox,是比較常規的輸入文本框控制項,作者將標籤與文本框封裝成一個控制項“組合框”,方便快速使用布局。

4.4.2 RichTextBox

richtextbox 富文本框控制項,比較常見。

4.4.3 NumericUpdown

numericupdown 數值選擇控制項,方便數字輸入或選擇驗證,本控制項也可以歸為選擇類控制項。

searchbar 搜索欄,提供數種樣式選擇,您平時開發是不是也有這種界面設計,直接使用吧,提高您的開發效率。

4.4.5 PasswordBox

dotnet9 習慣將 passwordbox 密碼框歸類為文本框一類,下面是 hc 密碼框。

4.4.6 Gravatar

handycontrol》gravatar,這個控制項比較好玩,動態生成頭像,喜不喜歡?很有意思的一個控制項。

4.4.7 ComboBox

combobox 下拉框,比原生下拉框好看多了,非常清爽。

4.5選擇類控制項

dotnet9 小編將下拉框、複選框、單選框等統一歸為選擇類控制項,各控制項見下圖:

4.5.1 Divider

divider 分割線控制項,方便實用。

4.5.2 《HandyContronl》ComboBox

《handycontronl》combobox 下拉框,其實小編已將此控制項劃歸為輸入編輯類控制項,但此控制項也屬於選擇類控制項,此控制項由文本框及列表控制項組合而成,具體的代碼小編還未細看,小編猜測是這樣的,不知道作者是不是這樣做的?

4.5.3 Rate

rate,評分控制項,這控制項看著熟悉吧,給文章或者資源評分時經常使用到,這個非常不錯,dotnet9 小編很喜歡。

4.5.4 Slider

slider 範圍滑塊,配色黑色主題顯示很好看喲。

4.5.5 PrevieweSlider

previeweslider 預覽滑塊,控制項如其名,實時顯示拖動值。

4.5.6 CheckBox

checkbox 複選框 ,樣式還是比較專業的。

4.5.7 StepBar

stepbar 步驟條 ,有流程相關業務時,使用這個控制項是非常方便的,我們常見的就是找回密碼,讓你一步一步的輸入驗證。

4.5.8 ColorPicker

colorpicker 拾色器,方便顏色選擇,是個好東西。

4.6時間類控制項

dotnet9 小編把時間相關的控制項也歸為一類,作者實現了較多的類似控制項,非常優秀,十分方便大家選擇使用。

4.6.1 FlipClock

flipclock 翻頁時鐘,這個控制項酷吧?像不像掛曆?籃球比賽等記分牌有印象沒?

4.6.2 TimeBar

timebar 時間條,可以擴展到自製甘特圖使用。

4.6.3 Calendar

calendar 日期控制項,比較常規。

4.6.4 Clock

clock 時鐘控制項,也比較常規。

4.6.5 CalendarWithClock

calendarwithclock 日期與時鐘組合控制項,這個比較好,好用。

4.6.6 DatePicker

datepicker 日期選擇控制項,比較常用的控制項。

4.6.7 TimePicker

timepicker 時間選擇控制項,也比較常用。

4.6.8 DateTimePicker

datetimepicker 日期時間選擇控制項,這個組合選擇比較完美,小編以後的項目中有此場景,一定會嘗試使用。

4.7菜單類控制項

dotnet9 小編將菜單類、任務欄類統一歸為菜單類控制項,方便讀者閱讀查找。

4.7.1 SideMenu

sidemenu,側邊欄菜單,這種菜單也是比較常見的類型,十分受用。

4.7.2 ContextMenu

contextmenu 上下文菜單,這種素色,dotnet9 小編原來自己常用,比較樸素,很清爽。

4.7.3 ToolBar

toolbar,工具欄常搭配導航菜單使用,經典組合。

4.7.4 CirclePanel

circlepanel 圓形布局,dotnet9 小編喜歡叫它圓形菜單,手機上用的比較多,桌面上不多,如果您的項目或者產品加上此控制項,用戶體驗上升一個檔次,當然看具體業務情況哈,也不能亂加。

4.7.5 NotifyIcon

notifyicon,即原 windows 系統托盤圖標升級版:

支持托盤圖標閃爍:

該控制項方便擴展,可做成 360 安全衛士類似的托盤菜單,這就很考驗讀者編碼功底了,下圖就是 360 安全衛士的系統托盤菜單,漂亮吧?dotnet9 小編見過不少軟體都在模仿 360 設計,當然小編自己也算在內,哈哈,注意這不是 hc 控制項哈,需要讀者自己實現,其實也不難的。

4.8布局及圖片類控制項

作者實現了數個有意思的布局容器,這一切都是為了用戶體驗啊,用心良苦。

圖片相關展示控制項與布局控制項類似,所以 dotnet9 小編將這些控制項歸為一類,當然也是為了方便讀者查找、閱讀啦。

4.8.1 Border

border 邊框,圖形化展示圖片時非常好看的。

4.8.2 Brush

brush 畫刷,提供 28 種常用畫刷,業界良心呀,受用了。

4.8.3 SwitchConfig

switchconfig 選擇配置,常用於界面國際化語言選擇,方便吧。

4.8.4 Expander

expander,常規控制項。

4.8.5GroupBox

groupbox 組合框,常規控制項。

4.8.6 ScrollViewer

scrollviewer 滾動視圖,也比較常用。

4.8.7 TransitioningContentControl

transitioningcontentcontrol 內容過渡控制項,效果不錯吧。

4.8.8 TabControl1

tabcontrol1 選項卡控制項樣式一。

4.8.9 TabControl2

tabcontrol2 選項卡控制項樣式二。

4.8.10 Drawer

drawer,抽屜類布局控制項,對空間有要求的業務場景很是有用。

4.8.11 HoneycombPanel

honeycombpanel 蜂窩布局,有意思的布局控制項。

4.8.12 Magnifier

magnifier 放大鏡控制項,京東、淘寶購物時,滑鼠移動到物品圖片上可以放大查看,很方便使用的控制項。

4.8.13 Card

4.8.14 Grid

grid 柵格布局。

4.8.15 AnimationPath

animationpath 動畫路徑,比較酷炫。

4.8.16 Growl

growl 信息通知,有用的提示控制項,比如做監控類軟體,有重要信息報警時,信息通知可用在軟體界面內彈出提示,也可在軟體不在桌面最頂端時,直接在作業系統桌面彈出,非常靈活。

4.8.17 GoToTop

4.8.18 Transfer

transfer 穿梭框,多個列表項移動時著實有用。

4.8.19 CoverFlow

coverflow 封面流,圖片瀏覽的一種形式。

4.8.20 CoverView

coverview 封面視圖。

carousel 輪播,廣告自動播放。

4.8.22 CompareSlider-h

compareslider-h 水平對比滑塊。

4.8.23 CompareSlider-v

compareslider-v 豎直對比滑塊。

4.8.24 ImageBrowser

imagebrowser,圖片瀏覽控制項,這個很強大了,通常展現圖片以卡片的形式展現縮略圖,當用戶以為某圖比較有用時,使用此控制項查看很是方便,因為此控制項錄製的 gif 大於 9mb,小編就不顯示動圖了,你們能夠本身下載自行體驗。

4.8.25 WaterfallPanel

waterfallpanel 瀑布流布局。

4.9 loading\進度條相關控制項

4.9.1 ProgressBar

progressbar 進度條,下面的幾種樣式都很好看,任君選擇使用。

4.9.2 WaveProgressBar

waveprogressbar 水波進度條,酷炫吧。

4.9.3 CircleProgressBar

circleprogressbar 圓形進度條。

4.9.4 Loading

loading 加載條,界面響應數據等待時使用,讓用戶乾等,不如讓他看看小小動畫吧,不要讓人覺得界面卡死了沒反應。

4.10 wpf 擴展控制項

有很多功能 c# wpf 未實現,比較 gif 圖片動態展示,默認使用 image 控制項是顯示的第一幀圖片,很好的實現了這一功能,值得推崇。

4.10.1 geometryanimation,幾何動畫

4.10.2 GifImage

gifimage,gif 圖片播放,微軟目前也沒有自帶實現此功能,只能靠開源社區自己實現了,hc 作者實現的不錯,內存占用率較低。

4.11數據展示類控制項

4.11.1 ListBox

4.11.2 ListView

4.11.3 TreeView

4.11.4 DataGrid

4.11.5 DarkTheme

4.12窗體類控制項

dotnet9 小編將自定義窗體、消息提示框等歸為窗體類。

4.12.1 BlurWindow

blurwindow 各種窗體供君選擇使用。

4.12.2 Dialog

dialog 對話框,web 樣式遮罩顯示,可區分父窗體與應用程式主窗體遮罩,可靈活控制。

4.12.3 MessageBox

4.12.4 ChatBubble

chatbubble 聊天氣泡,做 im 軟體非常實用。

以下是小編自己模擬與 hc 控制項庫作者之間的簡短問候:

五、寫在文章最後的話

這是 dotnet9 小編寫的第三篇居間 c# wpf 開源控制項庫的文章,在寫文章的過程中,小編親自下載、編譯、調試了《handycontrol》控制項庫,並反覆鼓搗此控制項庫和了解源於該控制項庫的經典案例,相信不會讓大家失望的。

小編把玩 hc 控制項庫數天,並通過對 90 張左右的控制項庫圖片整理、分類,自認為對該控制項庫還是算比較了解了,此控制項庫包含的控制項種類十分的豐富,該有的控制項都有了,平時工作中見過的幾乎也都包含了,向大家推薦在工作中使用不會錯的(本文所有圖片共 97 張,加起來接近 30mb,手機瀏覽此文的讀者您破費了,希望您有所收穫) 。

以上只是《handycontrol》的部分控制項樣例居間,該控制項庫作者及廣大貢獻者也在時常更新該控制項庫倉庫,比如新增有精靈等等控制項,有關更多的控制項樣例請大家移步到 github 倉庫下載研究、學習:https://github.com/HandyOrg/HandyControl。

如對文中控制項使用有所疑問,或者其他建議,請在本文評論區留言,小編定會及時回復;如若打算使用此控制項庫,可下載 github 倉庫自行編譯研究學習,另可加 hc 控制項庫作者創建的 qq 交流群交流討論,群號見文中:2.1 《handycontrol》交流社區。

Keep Exploring

延伸阅读

更多文章
同分类 / 同标签 2025/1/26

wpf 藉助自定義 xml 文件實現國際化

本文詳細居間了在wpf程式中使用自定義xml文件實現國際化的方法,包括安裝必備nuget包、動態獲取語言列表、動態切換語言、在代碼和xaml界面中使用翻譯字符串等內容,同時提供了源碼連結,幫助開發者輕鬆實現wpf應用的國際化。

继续阅读