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

    主題


    立即下載DevExpress WPF

    DevExpress WPF控件提供了30多個定制設(shè)計的應(yīng)用程序主題,您可以在免費的WPF主題設(shè)計器應(yīng)用程序中使用這些主題并且無需修改或自定義。

    請參閱主題列表來獲取可用的主題列表,可以將每個主題應(yīng)用于DevExpress WPF控件和支持的標(biāo)準(zhǔn)WPF控件。

    Lightweight Themes主題包含可用的輕量級主題列表,這些主題在視覺上復(fù)制常規(guī)主題,但提供更快的啟動時間和消耗更少的內(nèi)存。

    演示

    當(dāng)您在應(yīng)用程序中引用DevExpress WPF庫時,應(yīng)用程序?qū)?yīng)用Office2019Colorful主題,這個主題影響所有的DevExpress WPF Controls和支持的標(biāo)準(zhǔn)WPF控件,您可以重置應(yīng)用于 Standard WPF Controls的DevExpress主題。

    支持的標(biāo)準(zhǔn)控件列表

    以下標(biāo)準(zhǔn)WPF控件支持DevExpress WPF主題:

    這些控件僅在Office2016SE、VS2017、Office2019和VS2019主題中受支持。

    應(yīng)用DevExpress主題

    要應(yīng)用主題,必須在項目中引用主題程序集或主題NuGet包。

    在應(yīng)用程序中應(yīng)用DevExpress主題
    方法1

    打開窗口或用戶控件的快速操作或智能標(biāo)簽,展開ApplicationTheme下拉列表然后選擇一個主題,該列表僅顯示項目中引用的主題。

    DevExpress VCL圖表控件

    生成的App.config文件如下所示:

    • .NET

    App.config:

    ...
    <configuration>
    <configSections>
    <section name="DXThemeManager"
    type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
    allowExeDefinition="MachineToLocalUser" requirePermission="false" />
    </configSections>
    <DXThemeManager>
    <setting name="ApplicationThemeName" serializeAs="String">
    <value>Office2019Colorful</value>
    </setting>
    </DXThemeManager>
    </configuration>
    ...
    • .NET Framework

    App.config:

    <configuration>
    <configSections>
    <sectionGroup name="userSettings"
    type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
    <section name="DXThemeManager"
    type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
    allowExeDefinition="MachineToLocalUser" requirePermission="false" />
    </sectionGroup>
    </configSections>
    <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />
    </startup>
    <userSettings>
    <DXThemeManager>
    <setting name="ApplicationThemeName" serializeAs="String">
    <value>Office2019Colorful</value>
    </setting>
    </DXThemeManager>
    </userSettings>
    </configuration>
    方法2

    這種方法覆蓋了方法1對App.config文件所做的更改。

    1. 參考DevExpress.Data.Desktop.v23.1程序集。
    2. 在應(yīng)用程序啟動時設(shè)置ApplicationThemeHelper.ApplicationThemeName屬性為主題名稱。

    C#:

    public partial class App : Application {
    protected override void OnStartup(StartupEventArgs e) {
    ApplicationThemeHelper.ApplicationThemeName = Theme.MetropolisLightName;
    base.OnStartup(e);
    }
    }

    VB.NET:

    Class Application
    Protected Overrides Sub OnStartup(e As StartupEventArgs)
    ApplicationThemeHelper.ApplicationThemeName = Theme.MetropolisLightName
    MyBase.OnStartup(e)
    End Sub
    End Class

    提示:您可以將RibbonGalleryItemThemeSelector添加到應(yīng)用程序中。

    將DevExpress主題應(yīng)用到容器中

    指定附加的ThemeManager.ThemeName屬性,您可以將該屬性應(yīng)用于DevExpress WPF控件和支持的WPF標(biāo)準(zhǔn)控件。下面的代碼示例將Office2016SEWhite主題應(yīng)用于ThemedWindow,將Office2019Black主題應(yīng)用于GridControl:

    <ThemedWindow ...
    xmlns:dx="http://schemas.devexpress.com/winfx/2008/xaml/core"
    xmlns:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid"
    dx:ThemeManager.ThemeName="Office2016SEWhite">
    <dxg:GridControl dx:ThemeManager.ThemeName="Office2019Black">
    ...
    </dxg:GridControl>
    </ThemedWindow>

    重置應(yīng)用的DevExpress主題

    當(dāng)您重置主題時,DevExpress WPF主題不再影響標(biāo)準(zhǔn)WPF控件,DevExpress WPF控件的外觀來自于內(nèi)置在控件組件中的DeepBlue主題。

    重置應(yīng)用DevExpress主題到應(yīng)用程序
    方法1

    點擊窗口智能標(biāo)簽中的“X”按鈕(disablethem-button .png):

    窗口

    生成的App.config文件如下所示:

    ...
    <DXThemeManager>
    <setting name="ApplicationThemeName" serializeAs="String">
    <value>None</value>
    </setting>
    </DXThemeManager>
    ...

    如果使用Quick Actions,則需要手動編輯App.config文件。

    方法2

    在應(yīng)用程序啟動時設(shè)置ApplicationThemeHelper.ApplicationThemeName屬性為Theme.NoneName,這種方法覆蓋了使用方法1對App.config文件所做的更改。

    C#:

    using DevExpress.Xpf.Core;
    ...
    public partial class App : Application {
    protected override void OnStartup(StartupEventArgs e) {
    ApplicationThemeHelper.ApplicationThemeName = Theme.NoneName;
    base.OnStartup(e);
    }
    }

    VB.NET:

    Imports DevExpress.Xpf.Core
    ...
    Public Partial Class App
    Inherits Application
    Protected Overrides Sub OnStartup(ByVal e As StartupEventArgs)
    ApplicationThemeHelper.ApplicationThemeName = Theme.NoneName
    MyBase.OnStartup(e)
    End Sub
    End Class
    重置應(yīng)用于容器的DevExpress主題

    設(shè)置附加的ThemeManager.ThemeName屬性為None:

    <ThemedWindow ...
    xmlns:dx="http://schemas.devexpress.com/winfx/2008/xaml/core"
    xmlns:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid">
    <dxg:GridControl dx:ThemeManager.ThemeName="None">
    ...
    </dxg:GridControl>
    </ThemedWindow>
    僅為標(biāo)準(zhǔn)WPF控件重置DevExpress主題

    只有標(biāo)準(zhǔn)WPF的容器才能重置DevExpress主題Controls?:

    1. 重置應(yīng)用程序主題。
    2. 僅對包含DevExpress WPF控件的容器應(yīng)用主題。

    App.config:

    ...
    <DXThemeManager>
    <setting name="ApplicationThemeName" serializeAs="String">
    <value>None</value>
    </setting>
    </DXThemeManager>
    ...

    MainWindoe.xaml:

    <ThemedWindow ...
    xmlns:dx="http://schemas.devexpress.com/winfx/2008/xaml/core"
    xmlns:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid">
    <dxg:GridControl dx:ThemeManager.ThemeName="Office2019White">
    ...
    </dxg:GridControl>
    <ComboBox>
    ...
    </ComboBox>
    </ThemedWindow>

    保存運行時應(yīng)用的主題

    應(yīng)用程序在啟動時會使用應(yīng)用程序配置文件中指定的主題,調(diào)用ApplicationThemeHelper.SaveApplicationThemeName方法將當(dāng)前主題保存到應(yīng)用程序的配置文件中:

    C#:

    ApplicationThemeHelper.ApplicationThemeName = Theme.MetropolisLightName;
    ApplicationThemeHelper.SaveApplicationThemeName();

    VB.NET:

    ApplicationThemeHelper.ApplicationThemeName = Theme.MetropolisLightName
    ApplicationThemeHelper.SaveApplicationThemeName()

    添加一個主題選擇器到應(yīng)用程序中

    DevExpress WPF控件包括以下MVVM行為,允許在應(yīng)用程序中實現(xiàn)主題選擇器:

    選擇器 GitHub 例子
    BarSubItemThemeSelectorBehavior Example
    BarSplitItemThemeSelectorBehavior Example
    GalleryThemeSelectorBehavior Example
    RibbonGalleryItemThemeSelectorBehavior Example
    HamburgerSubMenuThemeSelectorBehavior Example

    使用傳統(tǒng)的默認(rèn)主題

    您可以使用CompatibilitySettings.LegacyDefaultTheme屬性來指定應(yīng)用程序應(yīng)使用的舊版默認(rèn)主題:

    C#:

    using DevExpress.Xpf.Core;
    ...
    public partial class App : Application {
    protected override void OnStartup(StartupEventArgs e) {
    CompatibilitySettings.LegacyDefaultTheme = LegacyDefaultTheme.Office2016White;
    base.OnStartup(e);
    }
    }

    VB.NET:

    Imports DevExpress.Xpf.Core
    ...
    Public Partial Class App
    Inherits Application
    Protected Overrides Sub OnStartup(ByVal e As StartupEventArgs)
    CompatibilitySettings.LegacyDefaultTheme = LegacyDefaultTheme.Office2016White
    MyBase.OnStartup(e)
    End Sub
    End Class

    使用Windows應(yīng)用模式

    最新的DevExpress WPF主題家族包括System主題,這個主題不引入自己的新外觀和感覺選項,相反它讀取Windows設(shè)置并應(yīng)用一個現(xiàn)有主題來匹配當(dāng)前的操作系統(tǒng)外觀,然后您的應(yīng)用程序看起來與用戶在其機器上運行的其他軟件一致。

    下表列出系統(tǒng)主題名稱及對應(yīng)主題在暗/亮操作系統(tǒng)模式下生效:

    主題

    您應(yīng)該同時引用(Dark和Light)兩個主題版本的程序集/NuGet包,例如要允許Win11System主題在Win11LightWin11Dark主題之間切換,應(yīng)該選擇以下任何一個選項:

    • 參考DevExpress.Xpf.Themes.Win11Dark.v22.2.dll和DevExpress.Xpf.Themes.Win11Light.v22.2.dll程序集。
    • 參考DevExpress.Wpf.Themes.Win11Dark和DevExpress.Wpf.Themes.Win11LightNuGet 包。
    • 參考DevExpress.Wpf.Themes.AllNuGet 包。

    以下代碼示例將VS2019System主題應(yīng)用于應(yīng)用程序:

    C#:

    public partial class App : Application {
    protected override void OnStartup(StartupEventArgs e) {
    ApplicationThemeHelper.ApplicationThemeName = Theme.VS2019SystemName;
    base.OnStartup(e);
    }
    }

    VB.NET:

    Class Application
    Protected Overrides Sub OnStartup(e As StartupEventArgs)
    ApplicationThemeHelper.ApplicationThemeName = Theme.VS2019SystemName
    MyBase.OnStartup(e)
    End Sub
    End Class

    System主題在主題選擇器中可用。

    應(yīng)用觸摸主題

    DevExpress WPF觸摸主題只影響元素的外觀(大小、填充、邊距等)。

    添加;Touch到主題名稱后,應(yīng)用 touch-friendly的主題版本:

    提示:TouchlineDark主題是 touch-friendly (默認(rèn)設(shè)置),您不需要在其主題名稱后面附加;Touch。

    <ThemedWindow ...
    xmlns:dx="http://schemas.devexpress.com/winfx/2008/xaml/core"
    dx:ThemeManager.ThemeName="Office2013;Touch">
    ...
    </ThemedWindow>
    列表
    DevExpress VCL圖表控件

    預(yù)加載主題

    控件在運行應(yīng)用程序時加載主題資源,使用PreloadThemeResourceAsync方法在應(yīng)用程序啟動時異步加載和緩存所有主題資源。該方法減少了應(yīng)用程序凍結(jié),您可以將runTypeInitializers方法參數(shù)設(shè)置為true來調(diào)用靜態(tài)構(gòu)造函數(shù)并加速控件初始化。

    輕量級模板

    輕量級模板包含更少的可視化元素,并減少了加載DevExpress WPF Controls所需的時間,以下主題支持輕量級模板:

    1

    下表列出了支持輕量級模板的 DevExpress WPF Controls以及您應(yīng)該用來啟用/禁用輕量級模板的屬性:

    屬性

    標(biāo)準(zhǔn)WPF控件屬性

    當(dāng)應(yīng)用程序使用下面的DevExpress WPF Themes之一時,您可以指定Background、 BorderBrush和BorderThickness屬性值來改變標(biāo)準(zhǔn)WPF控件的外觀:

    主題

    下面的代碼示例在應(yīng)用Office2016WhiteSE主題時會將標(biāo)準(zhǔn)WPF Button background屬性設(shè)置為紅色:

    <dx:ThemedWindow
    ...
    xmlns:dx="http://schemas.devexpress.com/winfx/2008/xaml/core"
    dx:ThemeManager.Theme="Office2016WhiteSE">
    <Grid>
    <Button Content="Button" Background="Red" />
    </Grid>
    </dx:ThemedWindow>
    掃碼咨詢


    添加微信 立即咨詢

    電話咨詢

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