DevExpress WPF入门教程:WPF应用程序可用主题列表(一)

DevExpress WPF入门教程之应用程序主题图1

当您在应用程序中引用 DevExpress WPF 库时,该应用程序将应用 Office2019Colorful 主题。 此主题影响所有 DevExpress WPF 控件和支持的标准 WPF 控件,您可以重置应用于标准 WPF 控件的DevExpress主题。

支持的标准控件列表

以下标准 WPF 控件支持 DevExpress WPF 主题。

  • System.Windows.Button
  • System.Windows.CheckBox
  • System.Windows.ComboBox
  • System.Windows.ComboBoxItem
  • System.Windows.ContextMenu *
  • System.Windows.Expander
  • System.Windows.GridSplitter
  • System.Windows.GroupBox
  • System.Windows.Label
  • System.Windows.ListBox
  • System.Windows.ListBoxItem
  • System.Windows.Menu *
  • System.Windows.Page
  • System.Windows.PasswordBox *
  • System.Windows.ProgressBar
  • System.Windows.RadioButton
  • System.Windows.Controls.Primitives.ScrollBar
  • System.Windows.ScrollViewer
  • System.Windows.Separator
  • System.Windows.Slider
  • System.Windows.TabControl
  • System.Windows.TabItem
  • System.Windows.TextBox
  • System.Windows.ToolTip
  • System.Windows.TreeView
  • System.Windows.TreeViewItem

这些控件仅在 Office2016SE、VS2017、Office2019 和 VS2019 主题中被支持。

应用一个DevExpress主题
将DevExpress主题应用于程序

方法一

打开窗口或用户控件的智能标签,展开 ApplicationTheme下拉列表,然后选择一个主题:

DevExpress WPF入门教程之应用程序主题图2

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

App.config

...<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>...<userSettings><DXThemeManager><setting name="ApplicationThemeName" serializeAs="String"><value>Office2019White</value></setting></DXThemeManager></userSettings>...

方法二

在应用程序启动时将 ApplicationThemeHelper.ApplicationThemeName 属性设置为主题名称:

C#

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

VB.NET

Class ApplicationProtected Overrides Sub OnStartup(e As StartupEventArgs)ApplicationThemeHelper.ApplicationThemeName = Theme.MetropolisLightNameMyBase.OnStartup(e)End SubEnd Class

您可以将功能区库主题选择器添加到应用程序。

将DevExpress主题应用于容器

指定附加的ThemeManager.ThemeName 属性,您可以将该属性应用于 DevExpress WPF 控件和支持的 WPF 标准控件。 以下代码示例将Office2016SEWhite主题应用于ThemedWindow,将 Office2019Black主题应用于GridControl:

XAML

<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>
重置应用的DevExpress主题

重置主题时,DevExpress WPF主题不再影响标准WPF控件,DevExpress WPF控件的外观来自内置于控件程序集中的DeepBlue主题。

将应用的DevExpress主题重置为应用程序

方法一

单击窗口智能标签中的“X”按钮:

DevExpress WPF入门教程之应用程序主题图3

XAML

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

方法二

在应用程序启动时将ApplicationThemeHelper.ApplicationThemeName属性设置为Theme.NoneName:

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 AppInherits ApplicationProtected Overrides Sub OnStartup(ByVal e As StartupEventArgs)ApplicationThemeHelper.ApplicationThemeName = Theme.NoneNameMyBase.OnStartup(e)End SubEnd Class
重置应用于容器的DevExpress主题

将附加的 ThemeManager.ThemeName 属性设置为 None:

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="None">...</dxg:GridControl></ThemedWindow>
仅为标准WPF控件重置DevExpress主题

仅为具有标准 WPF 控件的容器重置 DevExpress 主题:

  • 重置应用主题
  • 仅将主题应用于包含 DevExpress WPF 控件的容器。

App.config

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

MainWindow.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>

DevExpress WPF | 下载试用

DevExpress WPF拥有120+个控件和库,将帮助您交付满足甚至超出企业需求的高性能业务应用程序。通过DevExpress WPF能创建有着强大互动功能的XAML基础应用程序,这些应用程序专注于当代客户的需求和构建未来新一代支持触摸的解决方案。 无论是Office办公软件的衍伸产品,还是以数据为中心的商业智能产品,都能通过DevExpress WPF控件来实现。


DevExpress技术交流群4:715863792      欢迎一起进群讨论

DevExpress金牌套包火热销售中
标签:

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年6月11日
下一篇 2021年6月11日

相关推荐

发表回复

登录后才能评论