• <menu id="w2i4a"></menu>
  • logo Devexpress WPF控件文檔中心

    輕量級(jí)主題


    立即下載DevExpress WPF

    DevExpress輕量級(jí)主題在視覺(jué)上復(fù)制常規(guī)主題,但提供更快的啟動(dòng)時(shí)間和消耗更少的內(nèi)存。

    您可以在機(jī)器上比較常規(guī)和輕量級(jí)主題的性能,再運(yùn)行我們?cè)谝韵麓鎯?chǔ)庫(kù)中提供的特別設(shè)計(jì)的應(yīng)用程序:

    View Example:WPF Lightweight Thtmes-Performance Tests

    使用輕量級(jí)主題

    將DevExpress.Wpf.ThemesLW NuGet包添加到您的項(xiàng)目中,或者引用DevExpress.Xpf.ThemesLW.v23.1程序集。

    在應(yīng)用程序構(gòu)造函數(shù)中設(shè)置CompatibilitySettings.UseLightweightThemes屬性為true。

    在應(yīng)用程序啟動(dòng)時(shí)設(shè)置ApplicationThemeHelperApplicationThemeName屬性為主題名稱,LightweightTheme類包含可用的輕量級(jí)主題。

    C#:

    using DevExpress.Xpf.Core;
    // ...
    public partial class App : Application {
    static App() {
    CompatibilitySettings.UseLightweightThemes = true;
    }
    protected override void OnStartup(StartupEventArgs e) {
    ApplicationThemeHelper.ApplicationThemeName = LightweightTheme.Win10Dark.Name;
    base.OnStartup(e);
    }
    }

    VB.NET:

    Imports DevExpress.Xpf.Core
    ' ...
    Public Partial Class App
    Inherits Application
    
    Private Shared Sub New()
    CompatibilitySettings.UseLightweightThemes = True
    End Sub
    
    Protected Overrides Sub OnStartup(ByVal e As StartupEventArgs)
    ApplicationThemeHelper.ApplicationThemeName = LightweightTheme.Win10Dark.Name
    MyBase.OnStartup(e)
    End Sub
    End Class

    輕量級(jí)的主題改變應(yīng)用程序中所有控件的外觀,如果標(biāo)準(zhǔn)控件應(yīng)該保持其原始外觀,則將附加的dx:LightweightThemeManager.AllowStandardControlsTheming 屬性設(shè)置為false。

    主題列表

    Windows 10主題

    Win10Dark:

    黑

    Win10Light:

    light
    • Win10Dark
    • Win10Light
    • Win10System[1](讀取Windows應(yīng)用模式)
    • Win10SystemColors[1](讀取Windows應(yīng)用程序模式和強(qiáng)調(diào)色)

    Office 2019主題

    Office2019Black:

    黑色

    Office2019Colorful (Default Theme):

    亮色

    Office2019HighContrast:

    深色
    • Office2019Black
    • Office2019Colorful(默認(rèn)主題)
    • Office2019HighContrast
    • Office2019System[1](讀取Windows應(yīng)用模式)
    • 還包括一組預(yù)定義的黑色和彩色主題調(diào)色板。

    Visual Studio 2019主題

    VS2019Blue:

    主題

    VS2019Dark:

    主題

    VS2019Light:

    主題
    • VS2019Blue
    • VS2019Dark
    • VS2019Light
    • VS2019System[1](讀取Windows應(yīng)用程序模式)
    • 還包括一組預(yù)定義的藍(lán)色、深色和淺色主題的調(diào)色板。

    調(diào)色板

    調(diào)色板允許將顏色(例如,公司顏色)集成到應(yīng)用程序中,并自定義主題中使用的顏色,您可以創(chuàng)建自定義調(diào)色板或使用預(yù)定義的調(diào)色板。

    Palette是一個(gè)Dictionary的命名顏色,每個(gè)條目包括一個(gè)ColorName和一個(gè)Color值,您可以使用ColorName為任意數(shù)量的UI元素分配相應(yīng)的顏色。

    預(yù)定義的調(diào)色板

    LightweightTheme類包含預(yù)定義的調(diào)色板主題和經(jīng)典主題,下面的代碼示例應(yīng)用VS2019Dark主題與DeepSea調(diào)色板:

    C#:

    ApplicationThemeHelper.ApplicationThemeName = LightweightTheme.VS2019DarkDeepSea.Name;

    VB.NET:

    ApplicationThemeHelper.ApplicationThemeName = LightweightTheme.VS2019DarkDeepSea.Name
    自定義調(diào)色板

    您可以使用自定義調(diào)色板顏色來(lái)創(chuàng)建一個(gè)新的輕量級(jí)主題:

    • 用調(diào)色板的顏色名稱和它的新顏色創(chuàng)建一個(gè)Dictionary。

    要找到所需的顏色名稱,請(qǐng)查看以下文件夾中的輕量級(jí)主題資源:C:\Program Files\DevExpress 23.1\Components\Sources\XPF\DevExpress.Xpf.Themes\ThemesLW\Common。

    C#:

    var customPalette = new Dictionary<string, Color> {
    {"Foreground", (Color)ColorConverter.ConvertFromString("#FFFF7200")},
    {"SelectionBackground", Colors.Orange}
    };
    var customTheme = LightweightTheme.OverridePalette(LightweightTheme.Win10Dark, "CustomTheme", "Custom Theme", customPalette);
    LightweightThemeManager.RegisterTheme(customTheme);
    ApplicationThemeHelper.ApplicationThemeName = customTheme.Name;

    VB.NET:

    Dim customPalette = New Dictionary(Of String, Color) From {
    {"Foreground", CType(ColorConverter.ConvertFromString("#FFFF7200"), Color)},
    {"SelectionBackground", Colors.Orange}
    }
    Dim customTheme = LightweightTheme.OverridePalette(LightweightTheme.Win10Dark, "CustomTheme", "Custom Theme", customPalette)
    LightweightThemeManager.RegisterTheme(customTheme)
    ApplicationThemeHelper.ApplicationThemeName = customTheme.Name

    修改輕量級(jí)主題資源

    提示:我們不建議您修改可通過(guò)控件的內(nèi)置API實(shí)現(xiàn)的任務(wù)的輕量級(jí)主題資源,輕量級(jí)主題資源和鍵可以在將來(lái)更改,因此更新到較新的DevExpress版本可能會(huì)更加復(fù)雜。

    您可以自定義可視元素的主題資源(筆刷、厚度、顏色、樣式、模板等),如下面的主題所述:修改主題資源。

    輕量級(jí)主題被設(shè)計(jì)為使用一組特定的主題鍵,每個(gè)DevExpress WPF程序集都包含LWKeyExtension類,您可以使用它來(lái)修改在此控件庫(kù)中定義的輕量級(jí)主題資源:

    <Window ...
    xmlns:dxrt="http://schemas.devexpress.com/winfx/2008/xaml/ribbon/themekeys"
    xmlns:dxgt="http://schemas.devexpress.com/winfx/2008/xaml/grid/themekeys">
    <Window.Resources>
    <!-- Overrides the 'GridColumnHeader.Background' theme resource in all themes: -->
    <SolidColorBrush x:Key="{dxgt:LWKey GridColumnHeader.Background}"
    Color="Red"/>
    
    <!-- Overrides the 'Backstage.Foreground' theme resource to 'Red' in all themes except 'Office2019Colorful'.
    In this theme, the code sets the resource to 'Blue': -->
    <SolidColorBrush x:Key="{dxrt:LWKey Backstage.Foreground}"
    Color="Red"/>
    <SolidColorBrush x:Key="{dxrt:LWKey Backstage.Foreground, ThemeName='Office2019Colorful'}"
    Color="Blue"/>
    
    <!-- LWKeys are similar to regular keys in most cases: -->
    <!-- For example, the '{dxgt:LWKey GridColumnHeader.Background}' key is equal to -->
    <!-- '{dxgt:GridColumnHeaderThemeKey ResourceKey=Background}' -->
    </Window.Resources>
    </Window>

    在輕量級(jí)主題中,您可以不受任何限制地使用DynamicResource和StaticResource標(biāo)記擴(kuò)展,例如以下代碼在應(yīng)用程序中的任何位置都有效:

    <StackPanel ...
    xmlns:dxrt="http://schemas.devexpress.com/winfx/2008/xaml/ribbon/themekeys"
    xmlns:dxgt="http://schemas.devexpress.com/winfx/2008/xaml/grid/themekeys">
    <!-- The DynamicResource is updated each time the application theme is changed. -->
    <!-- The StaticResource is resolved only once at the application startup. -->
    <Button Background="{StaticResource {dxgt:LWKey GridControl.Foreground}}"/>
    <Button Background="{DynamicResource {dxrt:LWKey Backstage.Foreground}}"/>
    </StackPanel>

    用于修改常規(guī)主題資源的主題鍵也可以用于輕量級(jí)主題,唯一的區(qū)別是輕量級(jí)主題中的常規(guī)主題鍵變得與主題無(wú)關(guān)(不管ThemeName屬性值如何):

    <Window ...
    xmlns:dxrt="http://schemas.devexpress.com/winfx/2008/xaml/ribbon/themekeys">
    <Window.Resources>
    <!-- The following code does not work because the ThemeName property (defined in regular theme keys)
    is omitted in lightweight themes: -->
    <SolidColorBrush x:Key="{dxrt:BackstageThemeKey ResourceKey=Foreground, ThemeName=Office2019Colorful}"
    Color="Red"/>
    <SolidColorBrush x:Key="{dxrt:BackstageThemeKey ResourceKey=Foreground, ThemeName=Office2019Black}"
    Color="Blue"/>
    </Window.Resources>
    </Window>

    使用說(shuō)明

    • 不支持WPF主題設(shè)計(jì)器。
    • 輕量級(jí)主題沒(méi)有觸摸版本。
    • 不能為輕量級(jí)主題預(yù)加載主題資源。
    • 在設(shè)計(jì)時(shí)不應(yīng)用輕量級(jí)主題。
    • 不能將輕量級(jí)主題應(yīng)用于單個(gè)控件,只能應(yīng)用于整個(gè)應(yī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); })();