大家好,我是Dotnet9小編,一個從事dotnet開發8年+的程式員。我最近開始寫dotnet分享文章,希望能讓更多人看到dotnet的發展,瞭解更多dotnet技術,幫助dotnet程式員應用dotnet技術更好的運用於工作和學習中去。 歷經3個白天2個黑夜(至凌晨2點),Dotnet9小編經過 ...
大家好,我是Dotnet9小編,一個從事dotnet開發8年+的程式員。我最近開始寫dotnet分享文章,希望能讓更多人看到dotnet的發展,瞭解更多dotnet技術,幫助dotnet程式員應用dotnet技術更好的運用於工作和學習中去。
歷經3個白天2個黑夜(至凌晨2點),Dotnet9小編經過反覆修改、潤色,終於完成此文編寫(本文略長,手機黨請考慮流量),只能說小編我不容易呀不容易。
完成此文編寫後,小編我能想象到《HandyControl》控制項庫作者及眾多貢獻者們,當初沒日沒夜碼磚編寫此控制項庫的各種研究、容錯的場景,他們是一群多麼負有激情、多麼樂於分享的一群人啊,謝謝你們分享這麼一套優秀的控制項庫給WPF從業者。
由於本文略長,建議讀者查看以下導航目錄,根據讀者個人關註點點擊閱讀,也可按住 Ctrl + F 組合鍵搜索常用控制項名字進行搜索閱讀,當然小編是希望讀者都能按文章順序閱讀啦,哈哈。
下麵是本文閱讀目錄導航:
三、基於《HandyControl》控制項庫衍生的經典Case案例
- 4.1 各式按鈕
- 4.2 標簽類控制項
- 4.3 各式Block塊控制項
- 4.4 輸入編輯類控制項
- 4.5 選擇類控制項
- 4.6 時間類控制項
- 4.7 菜單類控制項
- 4.8 佈局及圖片類控制項
- 4.9 Loading及進度條相關控制項
- 4.10 WPF擴展控制項
- 4.11 數據展示類控制項
- 4.12 窗體類控制項
一、寫在文章最前面的話
應博客園園友 @郭達·斯坦森 推薦,Dotnet9小編本文介紹開源C# WPF控制項庫《HandyControl》,希望大家能夠喜歡,同時亦歡迎大家推薦優秀開源WPF控制項庫給小編,小編在此謝謝大家對dotnet技術的關註和支持。
評論在此文第51樓: 《《Dotnet9》系列-開源C# WPF控制項庫2《Panuon.UI.Silver》強力推薦》
網頁極力推薦的C# 開源控制項庫《HandyControl》說點本文之前兩篇控制項庫推薦文章的影響:
繼前兩篇開源C# WPF控制項庫(庫1,庫2)受廣大網友推薦後,Dotnet9小編備受鼓舞,讓小編仿佛看到了dotnet蓬勃發展的200幾年。
謝謝大家在博客園的大力推薦和留下的數十條文末評論,使小編我堅定了繼續寫優質C# WPF分享文章的信念,下麵是近期博客園首頁文章推薦截圖:博客園。
《Dotnet9》系列-開源C# WPF控制項庫博客園首頁推薦本站單日IP訪問量又突破新高,達到了500訪問量,又上一個新臺階,謝謝廣大網友。
本站IP訪問量又上一個新臺階另外,亦是由於兩篇文章大火,Dotnet9小編的個人博客站點出了點小插曲,以下是本站最新快訊:
《Dotnet9快訊》但本站不會因該小插曲而停止繼續給大家分享優質文章的步伐,以上是站長的聲明,謝謝大家繼續支持本站站長Dotnet9小編。
二、關於控制項庫《HandyControl》
2.1 《HandyControl》交流社區
《HandyControl》github地址: https://github.com/HandyOrg/HandyControl 。
《HandyControl》QQ交流群:
R&D 大佬1群 | R&D 大佬2群 | |
QQ群號 | ||
QQ群二維碼 |
《HandyControl》QQ交流群
《HandyControl》貢獻者:NaBian、yanchao891012、ghost1372、guanguanchuangyu、noctwolf、DingpingZhang、xianyun666、M0n7y5、gitter-badger、afunc233等等。
《HandyControl》作者推薦的C#及WPF學習博客鏈接:納邊、林德熙、呂毅、DinoChan、玩命夜狼 等等。
以下是《HandyControl》兩種主題控制項庫概覽,先給大家一個大致印象,然後我開始介紹該控制項庫經典案例及詳細控制項介紹,希望大家喜歡我這樣的介紹風格。
2.1 《HandyControl》白色主題
《HandyControl》白色主題2.2 《HandyControl》黑色主題
《HandyControl》黑色主題三、基於《HandyControl》控制項庫衍生的經典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能幹什麼?
- 為您的設備刷入第三方Recovery
- 向設備推送文件
- 一鍵激活黑域服務
- 一鍵激活冰箱
- 解鎖System,獲取完整root控制權
- 以拓展模塊為中心的功能開發思想,將來將會支持越來越多的功能
- …
四、《HandyControl》特色控制項詳細介紹
介紹控制項肯定少不了特色控制項截圖和文字描述,編寫本文時,Dotnet9小編不用再自己截圖、錄製gif動畫了等素材了,因為 《HandyControl》控制項庫作者非常優秀,本文大部分圖片素材來自控制項庫作者github倉庫,讀者您可以直接訪問此地址查看: https://github.com/HandyOrg/HandyControl 。
下麵Dotnet9小編介紹HC(後文作者使用此簡寫表示HandyControl)控制項時,會加上自己的使用體驗及觀點,如有不同觀點或建議,請在文末留言和小編討論,或者加作者QQ交流群切磋交流,大家以技術會友,共同成長。
4.1 各式按鈕
界面開發首先想到的就是按鈕,下麵是《HandyControl》設計的幾類按鈕,是否有您中意的一款?
4.1.1 《HandyControl》普通按鈕(Button)
《HandyControl》普通按鈕(Button),一般桌面開發中,以下樣式的按鈕應該已經夠用了,當然也可以根據自家公司設計師的要求,在作者樣式基礎上加以擴展修改也是極方便的。
《HandyControl》普通按鈕4.1.2 《HandyControl》單選按鈕 (RadioButton)
《HandyControl》單選按鈕 (RadioButton) ,也是挺漂亮,美化界面也必不可少。
《HandyControl》單選按鈕4.1.3 《HandyControl》切換按鈕 (ToggleButton)
《HandyControl》切換按鈕 (ToggleButton) ,HC作者設計有數種樣式,方便使得吧?
《HandyControl》切換按鈕 (ToggleButton)4.1.4 《HandyControl》分割按鈕 (SplitButton)
《HandyControl》分割按鈕 (SplitButton),可用於點擊按鈕彈出菜單業務場景下使用。
《HandyControl》分裂按鈕 (SplitButton)4.1.5 《HandyControl》進度按鈕 (ProgressButton)
《HandyControl》進度按鈕 (ProgressButton) ,在按鈕上顯示進度作者也挺有想法的,點擊上傳文件時,在界面空間比較緊湊時使用很方便。
《HandyControl》進度按鈕 (ProgressButton)4.1.6 《HandyControl》按鈕分組 (ButtonGroup)
《HandyControl》按鈕分組 (ButtonGroup),該控制項可替換常規菜單使得,即只有一級菜單的情形,或相關操作比較類似。
《HandyControl》按鈕分組 (ButtonGroup)4.1.7 《HandyControl》Shield
《HandyControl》Shield,Shield標記用於顯示即時狀態統計時很直觀。
《HandyControl》Shield4.1.8 《HandyControl》Pagination
《HandyControl》Pagination ,表格等常用的分頁封裝控制項,大數據分頁展示使用很方便,分頁控制項樣式也是比較流行。
《HandyControl》Pagination4.2 標簽類控制項
《HandyControl》提供的標簽類控制項較多,和Label類似或擴展的控制項,Dotnet9小編把它們歸為一類。
4.2.1 HandyControl》 Label標簽
HandyControl》 Label標簽,常用的Label標簽,漂亮吧?常規使用是Label搭配TextBox作為表單使用。
《HandyControl》 Label標簽4.2.2 《HandyControl》OutlineText
《HandyControl》OutlineText輪廓文本,添加各種字體後,Text也可以這麼好看的。
《HandyControl》OutlineText4.2.3《HandyControl》Tag
《HandyControl》Tag標簽,用於搜索,可將常用搜索條件作為Tag標簽,方便快速過濾得到用戶想要的結果,這個用戶體驗大大提高了吧,用戶都會表揚你的。
《HandyControl》Tag4.2.4 《HandyControl》Badge
《HandyControl》Badge徽章,網站中常用此樣式顯示庫版本及比較明顯的信息展示,很醒目有沒有?趕緊在自己的項目中使用吧。
《HandyControl》Badge4.2.5 《HandyControl》Poptip
《HandyControl》Poptip,氣泡提示類控制項,自定義提示就是這麼方便。
《HandyControl》Poptip4.3 各式Block塊控制項
《HandyControl》各式Block塊控制項,常見的是TextBlock,TextBlock與Label標簽功能類似,下麵是各式Block塊控制項展示:
4.3.1 《HandyControl》 TextBlock文本塊
《HandyControl》 TextBlock文本塊,常用文本展示。
《HandyControl》 TextBlock文本塊4.3.2《HandyControl》ImageBlock
《HandyControl》ImageBlock,圖片塊展示。
《HandyControl》ImageBlock4.3.3 《HandyControl》FloatingBlock
《HandyControl》FloatingBlock,看見這個控制項想到了什麼?是不是想到看直播時一直給主播點贊送小花的情景?
《HandyControl》FloatingBlock4.3.4《HandyControl》RunningBlock
《HandyControl》RunningBlock滾動塊,跑馬燈式效果,用於桌面軟體打滾動廣告還是很好的,如果你是做視頻播放類軟體,用於彈幕也是很方便的。
《HandyControl》RunningBlock4.4 輸入編輯類控制項
《HandyControl》作者提供的輸入編輯類控制項也著實不少,比如文本框、密碼框等等。
4.4.1《HandyControl》TextBox
《HandyControl》TextBox,是比較常規的輸入文本框控制項,作者將標簽與文本框封裝成一個控制項“組合框”,方便快速使用佈局。
《HandyControl》TextBox4.4.2 《HandyControl》RichTextBox
《HandyControl》RichTextBox富文本框控制項,比較常見。
《HandyControl》RichTextBox4.4.3 《HandyControl》NumericUpdown
《HandyControl》NumericUpdown數值選擇控制項,方便數字輸入或選擇驗證,本控制項也可以歸為選擇類控制項。
《HandyControl》NumericUpdown4.4.4 《HandyControl》SearchBar
《HandyControl》SearchBar搜索欄,提供數種樣式選擇,您平時開發是不是也有這種界面設計,直接使用吧,提高您的開發效率。
《HandyControl》SearchBar4.4.5 《HandyControl》PasswordBox
Dotnet9習慣將PasswordBox密碼框歸類為文本框一類,下麵是HC密碼框。
《HandyControl》PasswordBox4.4.6《HandyControl》Gravatar
HandyControl》Gravatar,這個控制項比較好玩,動態生成頭像,喜不喜歡?很有意思的一個控制項。
《HandyControl》Gravatar4.4.7 《HandyControl》ComboBox
《HandyControl》ComboBox下拉框,比原生下拉框好看多了,非常清爽。
《HandyControl》ComboBox4.5 選擇類控制項
Dotnet9小編將下拉框、覆選框、單選框等統一歸為選擇類控制項,《HandyControl》各控制項見下圖:
4.5.1 《HandyControl》Divider
《HandyControl》Divider分割線控制項,方便實用。
《HandyControl》Divider4.5.2 《HandyContronl》ComboBox
《HandyContronl》ComboBox下拉框,其實小編已將此控制項劃歸為輸入編輯類控制項,但此控制項也屬於選擇類控制項,此控制項由文本框及列表控制項組合而成,具體的代碼小編還未細看,小編猜測是這樣的,不知道作者是不是這樣做的?
《HandyContron》ComboBox4.5.3 《HandyControl》Rate
《HandyControl》Rate,評分控制項,這控制項看著熟悉吧,給文章或者資源評分時經常使用到,這個非常不錯,Dotnet9小編很喜歡。
《HandyControl》Rate4.5.4 《HandyControl》Slider
《HandyControl》Slider範圍滑塊,配色黑色主題顯示很好看喲。
《HandyControl》Slider4.5.5 《HandyControl》PrevieweSlider
《HandyControl》PrevieweSlider預覽滑塊,控制項如其名,實時顯示拖動值。
《HandyControl》PrevieweSlider4.5.6 《HandyControl》CheckBox
《HandyControl》CheckBox覆選框 ,樣式還是比較專業的。
《HandyControl》CheckBox4.5.7 《HandyControl》StepBar
《HandyControl》StepBar步驟條 ,有流程相關業務時,使用這個控制項是非常方便的,我們常見的就是找回密碼,讓你一步一步的輸入驗證。
《HandyControl》StepBar4.5.8 《HandyControl》ColorPicker
《HandyControl》ColorPicker拾色器,方便顏色選擇,是個好東西。
《HandyControl》ColorPicker4.6 時間類控制項
Dotnet9小編把時間相關的控制項也歸為一類,《HandyControl》作者實現了較多的類似控制項,非常優秀,十分方便大家選擇使用。
4.6.1 《HandyControl》FlipClock
《HandyControl》FlipClock翻頁時鐘,這個控制項酷吧?像不像掛歷?籃球比賽等記分牌有印象沒?
《HandyControl》FlipClock4.6.2 《HandyControl》TimeBar
《HandyControl》TimeBar時間條,可以擴展到自製甘特圖使用。
《HandyControl》TimeBar4.6.3 《HandyControl》Calendar
《HandyControl》Calendar日期控制項,比較常規。
《HandyControl》Calendar4.6.4 《HandyControl》Clock
《HandyControl》Clock時鐘控制項,也比較常規。
《HandyControl》Clock4.6.5 《HandyControl》CalendarWithClock
《HandyControl》CalendarWithClock日期與時鐘組合控制項,這個比較好,好用。
《HandyControl》CalendarWithClock4.6.6 《HandyControl》DatePicker
《HandyControl》DatePicker日期選擇控制項,比較常用的控制項。
《HandyControl》DatePicker4.6.7 《HandyControl》TimePicker
《HandyControl》TimePicker時間選擇控制項,也比較常用。
《HandyControl》TimePicker4.6.8 《HandyControl》DateTimePicker
《HandyControl》DateTimePicker日期時間選擇控制項,這個組合選擇比較完美,小編以後的項目中有此場景,一定會嘗試使用。
《HandyControl》DateTimePicker4.7 菜單類控制項
Dotnet9小編將菜單類、任務欄類統一歸為菜單類控制項,方便讀者閱讀查找。
4.7.1 《HandyControl》SideMenu
《HandyControl》SideMenu,側邊欄菜單,這種菜單也是比較常見的類型,十分受用。
《HandyControl》SideMenu4.7.2 《HandyControl》ContextMenu
《HandyControl》ContextMenu上下文菜單,這種素色,Dotnet9小編原來自己常用,比較朴素,很清爽。
《HandyControl》ContextMenu4.7.3 《HandyControl》ToolBar
《HandyControl》ToolBar,工具欄常搭配導航菜單使用,經典組合。
《HandyControl》ToolBar4.7.4 《HandyControl》CirclePanel
《HandyControl》CirclePanel圓形佈局,Dotnet9小編喜歡叫它圓形菜單,手機上用的比較多,桌面上不多,如果您的項目或者產品加上此控制項,用戶體驗上升一個檔次,當然看具體業務情況哈,也不能亂加。
《HandyControl》CirclePanel4.7.5 《HandyControl》NotifyIcon
《HandyControl》NotifyIcon,即原Windows系統托盤圖標升級版:
《HandyControl》NotifyIcon支持托盤圖標閃爍:
支持托盤圖標閃爍該控制項方便擴展,可做成360安全衛士類似的托盤菜單,這就很考驗讀者編碼功底了,下圖就是360安全衛士的系統托盤菜單,漂亮吧?Dotnet9小編見過不少軟體都在模仿360設計,當然小編自己也算在內,哈哈,註意這不是HC控制項哈,需要讀者自己實現,其實也不難的。
360安全衛士系統托盤菜單4.8 佈局及圖片類控制項
《HandyControl》作者實現了數個有意思的佈局容器,這一切都是為了用戶體驗啊,用心良苦。
圖片相關展示控制項與佈局控制項類似,所以Dotnet9小編將這些控制項歸為一類,當然也是為了方便讀者查找、閱讀啦。
4.8.1 《HandyControl》Border
《HandyControl》Border邊框,圖形化展示圖片時非常好看的。
《HandyControl》Border4.8.2 《HandyControl》Brush
《HandyControl》Brush畫刷,提供28種常用畫刷,業界良心呀,受用了。
《HandyControl》Brush4.8.3 《HandyControl》SwitchConfig
《HandyControl》SwitchConfig選擇配置,常用於界面國際化語言選擇,方便吧。
《HandyControl》SwitchConfig4.8.4《HandyControl》Expander
《HandyControl》Expander,常規控制項。
《HandyControl》Expander4.8.5《HandyControl》GroupBox
《HandyControl》GroupBox組合框,常規控制項。
《HandyControl》GroupBox4.8.6 《HandyControl》ScrollViewer
《HandyControl》ScrollViewer滾動視圖,也比較常用。
《HandyControl》ScrollViewer4.8.7 《HandyControl》 TransitioningContentControl
《HandyControl》 TransitioningContentControl內容過渡控制項,效果不錯吧。
《HandyControl》 TransitioningContentControl4.8.8 《HandyControl》TabControl1
《HandyControl》TabControl1選項卡控制項樣式一。
《HandyControl》TabControl 14.8.9《HandyControl》TabControl2
《HandyControl》TabControl2選項卡控制項樣式二。
《HandyControl》TabControl24.8.10《HandyControl》Drawer
《HandyControl》Drawer,抽屜類佈局控制項,對空間有要求的業務場景很是有用。
《HandyControl》Drawer4.8.11 《HandyControl》HoneycombPanel
《HandyControl》HoneycombPanel蜂窩佈局,有意思的佈局控制項。
《HandyControl》HoneycombPanel4.8.12 《HandyControl》Magnifier
《HandyControl》Magnifier放大鏡控制項,京東、淘寶購物時,滑鼠移動到物品圖片上可以放大查看,很方便使用的控制項。
《HandyControl》Magnifier4.8.13 《HandyControl》Card
《HandyControl》Card4.8.14 《HandyControl》Grid
《HandyControl》Grid柵格佈局。
《HandyControl》Grid4.8.15 《HandyControl》AnimationPath
《HandyControl》AnimationPath動畫路徑,比較酷炫。
《HandyControl》AnimationPath4.8.16 《HandyControl》Growl
《HandyControl》Growl信息通知,有用的提示控制項,比如做監控類軟體,有重要信息報警時,信息通知可用在軟體界面內彈出提示,也可在軟體不在桌面最頂端時,直接在操作系統桌面彈出,非常靈活。
《HandyControl》Growl信息通知4.8.17 《HandyControl》GoToTop
《HandyControl》GoToTop4.8.18 《HandyControl》Transfer
《HandyControl》Transfer穿梭框,多個列表項移動時著實有用。
《HandyControl》Transfer4.8.19 《HandyControl》CoverFlow
《HandyControl》CoverFlow封面流,圖片瀏覽的一種形式。
《HandyControl》CoverFlow4.8.20 《HandyControl》CoverView
《HandyControl》CoverView封面視圖。