• <menu id="w2i4a"></menu>
  • logo DevExpress WinForms使用教程

    文檔首頁>>DevExpress WinForms使用教程>>DevExpress Winforms使用技巧教程:如何實現(xiàn)Fluent Design和Acrylic Effects

    DevExpress Winforms使用技巧教程:如何實現(xiàn)Fluent Design和Acrylic Effects


    下載DevExpress v20.1完整版    DevExpress v20.1漢化資源獲取

    DevExpress Winforms Controls 內置140多個UI控件和庫,完美構建流暢、美觀且易于使用的應用程序。想要體驗?點擊下載>>

    在先前的版本中,技術團隊正式宣布支持Fluent Design Form和Acrylic效果 - 旨在復制Microsoft下一代UI隱喻的新功能,本文將詳細介紹這是如何實現(xiàn)的,WinForms組件可以使用DirectX渲染替代GDI + 。

    正確的實施很重要

    在開始之前,請務必注意,簡單的透明度并不等于“ Fluent Design”。Fluent UI比簡單的透明設置要復雜得多,換句話說,它不是Windows 7 Aero中簡單TransparencyKey的設置。這是Microsoft文檔中的屏幕截圖,展示了真正Acrylic material功能:五個單獨的層,具有各自的不透明性和視覺效果,旨在融合在一起來幫助創(chuàng)建適當?shù)目梢暬Ч?

    DevExpress Winforms使用技巧教程

    微軟將這種效果稱為“ Reveal Highlight”,必須正確實現(xiàn)鼠標指針后面的聚光燈,否則它不是真正的“Reveal Highlight”。

    DevExpress Winforms使用技巧教程

    對“ Reveal Highlight”的實現(xiàn)使用點鏡反射照明和色彩矩陣效果,并通過計算合成將其應用于對象。此要求需要使用DirectX,并且在使用傳統(tǒng)GDI +渲染器時根本不可能實現(xiàn),這也是轉向DirectX渲染的原因之一,您可以依靠不斷更新的WinForms開發(fā)邊界。

    如果您準備在下一個WinForms應用程序中加入這個新的設計功能,請按照以下簡單步驟操作:

    1. 查看Microsoft的準則,并學習Fluent設計的“do's”和“dont’s”,例如本文介紹如何在整個表格中分配Acrylic material。
    2. 啟用DirectX硬件加速
    3. 當您需要使用Acrylic material表格時,請使用DevExpress Fluent Design Form。
    4. 用所需的項目和組填充Fluent Form的嵌入式Hamburger Menu(Accordion Control)
    5. 應用矢量或任何DevExpress Office 2016柵格皮膚,可獲得最佳的可視化體驗(以及與所有Fluent Design Form功能的兼容性)。
    6. 將靜態(tài)WindowsFormsSettings.ScrollUIMode屬性更改為“ Fluent”,來提供針對Fluent UI優(yōu)化的滾動條。

    DevExpress v20.1.4新版發(fā)布,上中文網立即體驗新版~

    DevExpress技術交流群2:775869749      歡迎一起進群討論

    慧都高端UI界面開發(fā)
    掃碼咨詢


    添加微信 立即咨詢

    電話咨詢

    客服熱線
    023-68661681

    TOP
    三级成人熟女影院,欧美午夜成人精品视频,亚洲国产成人乱色在线观看,色中色成人论坛 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();