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

    文檔首頁>>DevExpress WinForms使用教程>>DevExpress WinForms使用教程:皮膚顏色和LookAndFeel

    DevExpress WinForms使用教程:皮膚顏色和LookAndFeel


    v18.2版本中更改了控制背景顏色和皮膚一起處理的方式。在v18.1中引入了Project Settings頁面,其中包含一個skin selector。這個機制取代了DefaultLookAndFeel組件的大多數(shù)用例。 對于許多應(yīng)用來說,在全球范圍內(nèi)應(yīng)用皮膚是一種可行的方法 - 它易于操作并且可以實現(xiàn)整體一致性。

    但是大多數(shù)單獨的DevExpress WinForms控件有屬于自己的LookAndFeel屬性,這個屬性已存在多年,這些屬性啟用外觀和單個樣式的每個控件配置。但這種機制可能會讓新用戶困惑,而且每個控件非常有用的用例很少。

    用于突出UI元素的顏色

    為什么要破壞設(shè)計一致性并覆蓋單個控件的全局皮膚設(shè)置?據(jù)調(diào)查表明只有一個重要的場景:使用特殊顏色突出顯示特定的UI元素。如果您出于本用例未涵蓋的原因自定義控件LookAndFeel設(shè)置,可隨時通過電子郵件聯(lián)系開發(fā)團(tuán)隊:winformsteam@devexpress.com。

    在以前的版本中,沒有直接的方法將高亮顏色應(yīng)用于UI元素。自定義背景顏色僅在為控件關(guān)閉皮膚時使用,并且需要大量條件代碼來調(diào)顏色和運行時的外觀配置。

    v18.2中隨處自定義顏色

    這是一個比較重大的更新:從v18.2開始,您現(xiàn)在可以應(yīng)用自定義前景色和背景色,而無需停用外觀。 為了清楚起見,這意味著即使LookAndFeel.Style = DevExpress.LookAndFeel.LookAndFeelStyle.Skin – 這些設(shè)置組合被忽略。

    Skin-coordinated高亮顏色

    您現(xiàn)在可以為控件前景色和背景色選擇特殊值,每個皮膚對其進(jìn)行不同的解釋。

    DevExpress WinForms使用教程

    有五種特殊顏色值:Primary, Info, Warning, Danger和Success,根據(jù)當(dāng)前皮膚(和矢量皮膚的調(diào)色板),這些顏色使用不同的色調(diào)以保持與皮膚一致。通過將控件的顏色配置為這些特殊值,您可以輕松實現(xiàn)與當(dāng)前膚色完美結(jié)合的控件突出顯示外觀。

    DevExpress WinForms使用教程

    例如,要實現(xiàn)此自定義編輯表單的外觀,您可以選擇Update按鈕背景的皮膚信息和Cancel按鈕的Danger。以下是不同Bezier調(diào)色板中這些設(shè)置的按鈕外觀圖示。

    DevExpress WinForms使用教程

    當(dāng)然,也可以從代碼中分配皮膚:

    colId.AppearanceHeader.BackColor =
    DevExpress.LookAndFeel.DXSkinColors.FillColors.Question;

    您當(dāng)前可以將皮膚特殊值指定為這些UI元素的背景:

    • Grid Control:Column和Band headers、LayoutView和CardView 卡片標(biāo)題
    • Simple Button
    • Tabs
    • Group Control
    • Dock Panels
    • Layout Control groups
    • Tree List:Column和Band標(biāo)題

    將在發(fā)布時提供對Pivot Grid列標(biāo)題的支持。

    皮膚特殊值可用于前景色而沒有限制。 但是建議不要同時將背景和前景色設(shè)置為膚色特殊值! 將此類值指定給背景顏色屬性時,它們會自動更改相關(guān)的前景色調(diào)以提高可讀性。

    DevExpress WinForms使用教程

    每個控件的LookAndFeel已棄用

    LookAndFeel隨著v18.2中的更改,不再需要單個控件上的LookAndFeel屬性。 它們現(xiàn)在仍然可用,但在編輯對話框中顯示一條警告消息:

    DevExpress WinForms使用教程

    對于將來的版本,我們打算從design-time中隱藏屬性。

    上面詳述的更改存在一個潛在問題:您可能在過去配置了Appearance.BackColor屬性,而LookAndFeel.Style設(shè)置為Skin。 這樣的設(shè)置可以是用于look&feel配置的快速“tests”的剩余部分,或者是由于外觀取代的先前UI樣式。在這種情況下,將項目升級到v18.2后,您可能會看到意外的控件背景顏色。

    為了幫助您在項目中發(fā)現(xiàn)任何此類問題,我們擴展了本頁描述的有關(guān)DirectX的診斷API。 對于許多情況,設(shè)置PaintApiDiagnosticsLevel.Throw模式會很有幫助,如下所示:

    DevExpress.XtraEditors.WindowsFormsSettings.ForcePaintApiDiagnostics(
    DevExpress.Utils.Diagnostics.PaintApiDiagnosticsLevel.Throw);

    因此,當(dāng)控件呈現(xiàn)的背景顏色不是skinned顏色(即不是DevExpress.LookAndFeel.DXSkinColors.FillColors值)時,您將看到拋出異常。這是推薦的方法,因為它可以快速引導(dǎo)您使用自定義顏色的代碼位置。

    或者如果您不喜歡處理許多單獨的異常,您可以利用跟蹤模式生成日志輸出到文件或控制臺:

    WindowsFormsSettings.ForcePaintApiDiagnostics(PaintApiDiagnosticsLevel.Trace,
    (apiLevel, api) =&gt; {
    Console.WriteLine(apiLevel.ToString() + ": " + api);
    });

    lambda表達(dá)式的api參數(shù)將包含一個類似AppearanceHeader.BackColor的字符串。 有了這些,您可以在代碼中搜索每個相關(guān)屬性的出現(xiàn)次數(shù)并評估其設(shè)置方式。


    DevExpress 2019全新出發(fā),多套購買享更低優(yōu)惠!

    掃描關(guān)注DevExpress中文網(wǎng)微信公眾號,及時獲取最新動態(tài)及最新資訊

    DevExpress中文網(wǎng)微信
    掃碼咨詢


    添加微信 立即咨詢

    電話咨詢

    客服熱線
    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); })();