如何修改devexpresswpf控件的主题

author author     2023-04-19     207

关键词:

  DevExpress 控件是利用模版来呈现控件外观的。 要呈现一个绝佳的外观,我们需要使用带有嵌套边框和渐变画笔的复杂模版。这样一来,不能通过简单的风格设置来改变控件的颜色,因为控件的颜色改变取决于不同画笔产生的视觉效果。本文主要想客户展示如何修改主题的模版。
  要修改控件的外观,你需要找到必要元素的模版,将模版嵌入到您的应用程序资源中,准确的修改模版并且不可破坏模版的内部结构。一旦你修改了模版的结构,你便会破坏一些功能。
  另外,还值得一提的是,相同的模版会因为主题的不同而不同。要实现一个特定主题的自定义模版(不是默认深蓝主题),需要在模版KEY中指定ThemeName属性。下面以我们的默认深蓝主题的RowIndicator的模版为例:
  [XAML]
  xmlns:dxgt="http://schemas.devexpress.com/winfx/2008/xaml/grid/themekeys"
...
<Window.Resources>
<DataTemplate x:Key="dxgt:RowIndicatorThemeKey ResourceKey=IconPresenterTemplate">
....
</DataTemplate>
</Window.Resources>
  如果您分配Office2007Black主题,该模板将不适用。创建一个Office2007Black模板,分配的ThemeName的属性:
  [XAML]
  xmlns:dxgt="http://schemas.devexpress.com/winfx/2008/xaml/grid/themekeys"
...
<Window.Resources>
<DataTemplate x:Key="dxgt:RowIndicatorThemeKey ResourceKey=IconPresenterTemplate,ThemeName=Office2007Black">
..
</DataTemplate>
</Window.Resources>
  如果你不需要为不同的主题创建模版,您的自定义模板是一个独立的主题,只需设置IsThemeIndependent属性为True:
  [XAML]
  xmlns:dxgt="http://schemas.devexpress.com/winfx/2008/xaml/grid/themekeys"
...
<Window.Resources>
<DataTemplate x:Key="dxgt:RowIndicatorThemeKey ResourceKey=IconPresenterTemplate, IsThemeIndependent=true">
..
</DataTemplate>
</Window.Resources>
  到现在,最有趣的问题就是如何找到所需模版。在DevExpress WPF中有两种方法可以找到所需模版:使用snoop工具和使用ThemeEditor。
  Snoop工具:这个工具允许你搜索控件的可视化树。
  在控件库文件夹中搜索需要的名称,以GridControl为例:
  "c:\\Program Files (x86)\\DXperience 12.1\\Sources\\DevExpress.Xpf.Grid"
  如果你不使用默认名称,你需要在相应的主题文件夹中寻找:
  "c:\\Program Files (x86)\\DXperience 12.1\\Sources\\DevExpress.Xpf.Themes"
  最后一步就是,从源代码中复制模版,将模版嵌入到容器资源中如Window.Resources。请记住,你需要使用默认深蓝主题,利用修改后的模版。
  Theme Editor:它是一个独立的编辑器工具,可让你修改内置的DevExpress主题和创建基于内置主题的新主题。该新工具的主要目的是简化挨罚人员编辑第三方主题的繁琐工作,只用一个标记来定位特定的视觉元素和外观设置。
参考技术A DevExpress.Xpf.Core.ThemeManager.ApplicationThemeName

如何自定义timepicker的样式

本主题介绍TimePicker控件的样式和模板。你可以修改这些资源和默认ControlTemplate以便为该控件提供一个唯一的外观。视觉状态TimePicker默认样式不定义任何视觉状态。主题资源这些资源在该控件的默认样式中使用。深色主题画笔若... 查看详情

android如何设置顶部状态栏颜色(主题)

参考技术A在Android中我们经常需要设置屏幕顶部状态栏的主题和应用页面保持同一风格,本文介绍几种常用的设置方案:首先给出一张图:22通过上图,我们可以通过设置不同的属性来达到控制不同位置颜色的目的,下面给出使... 查看详情

如何在 MFC 中使用的 WPF 控件中更改 DevExpress GridControl 默认主题

】如何在MFC中使用的WPF控件中更改DevExpressGridControl默认主题【英文标题】:HowtochangeDevExpressGridControldefaultthemeinWPFcontrolwhichisusedinMFC【发布时间】:2015-03-1622:57:21【问题描述】:我在MFC应用程序中使用WPF控件(使用DevExpressGridControl... 查看详情

[wpf自定义控件库]以button为例谈谈如何模仿aero2主题(代码片段)

1.为什么选择Aero2除了以外观为卖点的控件库,WPF的控件库都默认使用“素颜”的外观,然后再提供一些主题包。这样做的最大好处是可以和原生控件或其它控件库兼容,而且对于大部分人来说模仿原生的主题也比自己设计一套... 查看详情

如何将多个 cssclass 名称设置为启用 ASP.NET 主题的控件?

】如何将多个cssclass名称设置为启用ASP.NET主题的控件?【英文标题】:HowtosetmultiplecssclassnametoacontrolwithASP.NETthemingenabled?【发布时间】:2010-12-3101:34:01【问题描述】:CSS支持多个类名:<hwc:DropDownListID="ddlRoomType"runat="server"class="in... 查看详情

typora修改主题和字体(代码片段)

typora修改主题和字体1、修改主题文件->偏好设置->外观->主题->获取主题,然后就会打开GitHub上的一个网页,示例:然后点击自己喜欢的主题即可。点击进入自己喜欢的主题之后,点击download控件即可。示例:然后进入GitH... 查看详情

devexpresswpf2020全新出发,功能计划蓝图一览

下载DevExpressv19.2完整版通过DevExpressWPFControls,您能创建有着强大互动功能的XAML基础应用程序,这些应用程序专注于当代客户的需求和构建未来新一代支持触摸的解决方案。又到了每年发布DevExpressWPF产品线2020年非正式计划的时候... 查看详情

notepad++如何修改主题

notepad++的白底黑字使用时间长了会感觉眼睛有点难受,我给大家推荐一个主题使用1/3第一步,notepad++,进入主界面,找到菜单栏的“设置”,然后在下面的下拉选项中选择“语言格式设置”。2/3第二步,弹出“语... 查看详情

如何在不更改代码的情况下修改 wordpress 主题?

】如何在不更改代码的情况下修改wordpress主题?【英文标题】:Howtomodifywordpressthemewithoutchangingthecode?【发布时间】:2018-03-1823:44:01【问题描述】:我想在不更改代码的情况下修改我的WordPress主题。具体来说,我想显示阅读帖子所... 查看详情

sublimetext4如何修改主题,如何修改配色方案

第一步,打开SublimeText4,在顶部的菜单找到:Preferences,点击并在下拉菜单选择SelectColorScheme,在弹出的窗口,点击Monokai,这样配色方案就切换为旧版本的样式了。作者:Outsrkem原文链接:https://www.cnblogs.com/outsrkem/p/17335369.html本... 查看详情

elementplus如何修改主题色?

参考技术A主题色修改得情况注意。1,forward要写前面2,是否要导入插件呢?#sassnpminstall-Dsass#element-plus官方文档中自动引入所需的两个依赖npminstall-Dunplugin-vue-componentsunplugin-auto-import 查看详情

winform中的datagridview列标题样式如何修改

我觉得那个灰灰的control很难看,能不能调整背景色啊参考技术A  1、dgvHistory.EnableHeadersVisualStyles=false;  //列标题是否使用用户当前主题的可观样式.  2、DataGridViewColumnHeaderCelldgvc=dgvHistory.Columns[10].HeaderCell;  //获取表示列... 查看详情

如何修改为我的 VideoView 显示的控件?

】如何修改为我的VideoView显示的控件?【英文标题】:HowcanImodifywhatcontrolsshowupformyVideoView?【发布时间】:2011-07-2101:29:30【问题描述】:我有一个由简单MediaController控制的VideoView,我想修改它的控件。目前,它显示了一个搜索栏... 查看详情

如何在不使用xml的情况下修改材质组件的主题?

】如何在不使用xml的情况下修改材质组件的主题?【英文标题】:Howtomodifythethemeofmaterialcomponentwithoutusingxml?【发布时间】:2021-10-0617:03:45【问题描述】:<com.google.android.material.button.MaterialButtonandroid:layout_android:layout_android:theme="@... 查看详情

jeecg中如何修改默认的主题(代码片段)

大家好,我是雄雄。前言上篇文章,我们分享了如何在jeecg-boot中设置自定义主题,文章地址为:点击这里那么,在jeecg中,如何实现默认的主题颜色改变呢?下面我们就来介绍一下。修改默认的配置我... 查看详情

如何修改 WooCommerce 购物车、结帐页面(主题部分)

】如何修改WooCommerce购物车、结帐页面(主题部分)【英文标题】:HowtomodifyWooCommercecart,checkoutpages(mainthemeportion)【发布时间】:2014-12-0423:48:10【问题描述】:我一直在研究和调整我的自定义Wordpress主题和覆盖的WooCommerce模板,现... 查看详情

hexo修改theme主题(代码片段)

学习目标本文主要学习的内容如下:如何去获取到NexT主题如何去安装和配置NexT主题设置菜单,如分类,标签,关于我等简单配置获取开源的Hexo主题在上节介绍如何快速去搭建Hexo,最终展示的效果如下图所示&... 查看详情

如何修改全部devexpress控件的字体

引用:https://www.devexpress.com/Support/Center/Question/Details/A2761 Youcanchangethedefaultfontusedby DevExpressWindowsFormscontrolswith thefollowingstaticproperties:DevExpress.XtraEdito 查看详情