DevExpress Winforms使用技巧教程:解決舊UI要求的新方法
下載DevExpress v20.1完整版 DevExpress v20.1漢化資源獲取
DevExpress Winforms Controls 內(nèi)置140多個(gè)UI控件和庫,完美構(gòu)建流暢、美觀且易于使用的應(yīng)用程序。想要體驗(yàn)?點(diǎn)擊下載>>
側(cè)面導(dǎo)航
在先前的版本中,需要“side navigation” 功能的應(yīng)用程序經(jīng)常依賴DevExpress WinForms NavBarControl 做繁重的工作。NavBar控件現(xiàn)在附帶導(dǎo)航欄中的所有功能,它允許您創(chuàng)建空項(xiàng)目或使用自定義內(nèi)容填充它們,它允許您添加模仿按鈕的項(xiàng)目或合并保留用戶焦點(diǎn)的可選項(xiàng)目。NavBar允許您將元素歸類,選擇三種操作模式當(dāng)中的一種,并用NavBarControl組自動(dòng)填充 Office Navigation Bar 等。目前,所有主要與NavBar相關(guān)的功能都可以從其繼承中獲得——DevExpress WinForms Accordion Control。
除了上面提到的所有內(nèi)容之外,Accordion UI組件還提供:
- 項(xiàng)目和組內(nèi)的自定義標(biāo)題按鈕;
- 嵌入式查找面板可幫助用戶以直觀的方式查找信息;
- web樣式的Hamburger style menu;
- 改進(jìn)對(duì)high-DPI支持等。
當(dāng)您將Accordion放置在Fluent Design Form中時(shí),它可以做其他導(dǎo)航控件無法做到的事情:在整個(gè)表單上垂直拉伸,使其標(biāo)題欄重疊。它還將根據(jù)當(dāng)前表單寬度自動(dòng)展開或折疊,這得益于其半透明的Acrylic Material支持(由DevExpress DirectX Hardware Acceleration支持)。
警報(bào)和通知
WinForms AlertControl管理的傳統(tǒng)Alert Windows是具有自定義樣式的簡單消息框,當(dāng)用戶關(guān)閉警報(bào)時(shí),它們會(huì)消失。盡管Alert Windows可以滿足某些需求,但我們認(rèn)為存在更好的替代方法—— Toast Notifications。
Toast Notifications最初是在Microsoft Windows 8中引入的,它比傳統(tǒng)的“alert windows”功能強(qiáng)大很多,Toast Notifications存儲(chǔ)在Windows通知中心中,并允許用戶在集中位置閱讀未讀消息。本機(jī)Toast通知可以使用系統(tǒng)顏色和聲音設(shè)置,這些通知還可以顯示UI元素(來幫助您的應(yīng)用與用戶進(jìn)行交互),并支持所有重要的“ Snooze”命令(將通知延遲)。
DevExpress Toast Notification Manager組件使用Microsoft的Windows API,可讓您輕松地創(chuàng)建本地Toast Notifications。
未綁定數(shù)據(jù)
所有市場(chǎng)領(lǐng)先的數(shù)據(jù)感知控件(WinForms Data Grid、Tree List、Vertical Grid等)完全支持未綁定的數(shù)據(jù)操作,在非綁定模式下,不會(huì)從數(shù)據(jù)源檢索記錄,而是將記錄手動(dòng)傳遞給UI控件。
那么如何將未綁定的數(shù)據(jù)傳遞給數(shù)據(jù)感知控件? 很簡單——例如要用未綁定的數(shù)據(jù)填充WinForms Data Grid,您需要?jiǎng)?chuàng)建未綁定的列并處理CustomUnboundColumnData事件。
盡管您仍然可以使用未綁定列事件,但DevExpress WinForms Controls套件現(xiàn)在附帶一個(gè)特殊的數(shù)據(jù)源組件,旨在促進(jìn)未綁定數(shù)據(jù)管理。此控件 - UnboundSource組件 -引發(fā)兩個(gè)事件:ValueNeeded(當(dāng)數(shù)據(jù)感知控件需要新數(shù)據(jù)時(shí))和ValuePushed(當(dāng)控件數(shù)據(jù)已更改并且需要您保存修改時(shí))。 Unbound Source反復(fù)觸發(fā)ValueNeeded事件,直到record number達(dá)到通過SetRowCount方法分配的數(shù)字為止。 這種簡單的方法使您可以輕松縮放傳遞給數(shù)據(jù)感知控件的數(shù)據(jù)并立即清除它(通過將零作為方法值)。
除了UnboundSource,DevExpress WinForms套件還包括基于事件的VirtualServerModeSource組件,該組件使您可以一小部分加載大型數(shù)據(jù)集。 使用時(shí),數(shù)據(jù)感知控件會(huì)利用Infinite Scrolling模式(替代傳統(tǒng)記錄分頁)。
Flyouts
在舊版本中,您必須使用自定義浮動(dòng)表單來顯示彈出在屏幕一角的小面板,使用WinForms Flyout Panel,您現(xiàn)在可以很容易地合并此功能。只需要將Flyout Panel放在表單上,選擇其位置和動(dòng)畫效果,用內(nèi)容填充它,然后調(diào)用ShowPopup / HidePopup方法即可切換面板可見性。下面的動(dòng)畫說明了如何在DevExpress PDF Viewer中使用Flyout Panel(顯示Find panel)。
Flyout Panels支持備用的"Beak Panel" 樣式,"Beak Panel" 使您可以顯示表單上任何UI元素的交互式提示。要在"Beak Panel" 模式下打開Flyout Panel,請(qǐng)調(diào)用ShowBeakForm方法替代ShowPopup。
Buttons
WinForms按鈕可以包括陰影、圓角、凸出的背景等,盡管這些UI元素有些新,但是在相當(dāng)長的一段時(shí)間內(nèi),Windows按鈕并沒有引入任何創(chuàng)新。一個(gè)按鈕基本上是一個(gè)邊框、一個(gè)圖像、一個(gè)文本字符串和一個(gè)“ Click”事件。
由于UI設(shè)計(jì)的發(fā)展(當(dāng)然,還有開發(fā)人員實(shí)現(xiàn)的PPaintStyle性),您現(xiàn)在可以消除 Simple Button 邊框,這項(xiàng)簡單的更改為應(yīng)用程序增添了新的樣式,允許您將Simple Button用于全新的使用場(chǎng)景。例如,通過消除邊框,您現(xiàn)在可以創(chuàng)建平面工具欄,而無需WinForms Bar Manager組件。
DevExpress技術(shù)交流群2:775869749 歡迎一起進(jìn)群討論