我们都知道Devexpress内置了很多themes,那要怎么在使用时动态更改呢。

下面是方法以:

1、如果你们已经有主题了,那就在XAML中删除类似下下面的语句。

dx:ThemeManager.ThemeName="LightGray" 

2、确保你的XAML中Window是引用下面的

<dx:DXWindow

后台也一样:

MainWindow : DXWindow

3、下面就可以读取DevExpress中所有的主题:

comboBoxEdit1.ItemsSource = Theme.Themes;

4、更换应用主题:

ThemeManager.ApplicationThemeName = Theme.Themes[comboBoxEdit1.SelectedIndex].Name;

5、主程序更新布局:

this.UpdateLayout(); //重新布局

下面是Demo的完整代码:

<dx:DXWindow
x:Class="theme.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:dx="http://schemas.devexpress.com/winfx/2008/xaml/core"
Title="DXApplication" Height="300" Width="400"
SnapsToDevicePixels="True" UseLayoutRounding="True"
xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors"
>
<dx:DXWindow.Resources> </dx:DXWindow.Resources> <Grid>
<dxe:ComboBoxEdit HorizontalAlignment="Left" Margin="64,85,0,0" Name="comboBoxEdit1" VerticalAlignment="Top" Width="150" />
<dxe:TextEdit EditValue="一个中国人" Height="40" Width="200" Margin="64,120,0,0" />
</Grid> </dx:DXWindow>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Shapes;
using DevExpress.Xpf.Core; namespace theme
{
public partial class MainWindow : DXWindow
{
public MainWindow()
{
InitializeComponent(); this.Loaded += delegate(object sender, RoutedEventArgs e)
{
comboBoxEdit1.ItemsSource = Theme.Themes;
comboBoxEdit1.SelectedIndex = 0;
}; comboBoxEdit1.SelectedIndexChanged += delegate(object sender, RoutedEventArgs e)
{
ThemeManager.ApplicationThemeName = Theme.Themes[comboBoxEdit1.SelectedIndex].Name;
this.UpdateLayout(); //重新布局
}; }
}
}

DevExpress 动态换肤的更多相关文章

  1. hybird之web动态换肤实现

    前言 最近在重构个hybird(原生的壳包着Web页面)的UI框架,进行到了做换肤功能的阶段,所以这里是我思考的解决的方法. 预想 目前实现换肤的功能无非就两种做法. 1.写几个皮肤文件,然后切换使用 ...

  2. CocoStudio基础教程(4)骨骼动画的动态换肤

    1.概述 游戏中人物的状态会发生改变,而这种改变通常要通过局部的变化来表现出来.比如获得一件装备后人物形象的改变,或者战斗中武器.防具的损坏等.这些变化的实现就要通过动态换肤来实现. 2.运行到程序 ...

  3. duilib入门之贴图描述、类html文本描述、动态换肤、Dll插件、资源打包

    转载自duilib入门文档 贴图描述: Duilib的表现力丰富很大程度上得益于贴图描述的简单强大.Duilib的贴图描述分为简单模式和复杂模式两种. 简单模式使用文件名做为贴图描述内容,在这种方式下 ...

  4. Cocos2d-x 3.0 cocostudio骨骼动画的动态换肤

    概述 游戏中人物的状态会发生改变,而这种改变通常要通过局部的变化来表现出来.比如获得一件装备后人物形象的改变,或者战斗中武器.防具的损坏等.这些变化的实现就要通过动态换肤来实现.在接下来的这个Demo ...

  5. Android动态换肤(二、apk免安装插件方式)

    在上一篇文章Android动态换肤(一.应用内置多套皮肤)中,我们了解到,动态换肤无非就是调用view的setBackgroundResource(R.drawable.id)等方法设置控件的背景或者 ...

  6. Android动态换肤(一、应用内置多套皮肤)

    动态换肤在很多android应用中都有使用,用户根据自己的喜好设置皮肤主题,可以增强用户使用应用的舒适度. Android换肤可以分为很多种,它们从使用方式,用户体验以及项目框架设计上体现了明显的差异 ...

  7. element-ui 动态换肤

    1.在安装好 element-ui@2.x 以后,首先安装sass-loader npm i sass-loader node-sass -D 2.安装 element-theme npm i ele ...

  8. WPF之动态换肤

    原文:WPF之动态换肤 如何实现换肤呢,对于复杂的换肤操作,如,更换按钮样式.窗口样式等,我们需要写多个资源字典来表示不同的皮肤,通过动态加载不同的资源字典来实现换肤的效果:对于简单的换肤操作,如更改 ...

  9. vue+ element 动态换肤

    转至 https://www.cnblogs.com/dengqichang/p/10364455.html 一.搭建好项目的环境. 二.根据ElementUI官网的自定义主题(http://elem ...

  10. 【WPF】实现动态切换语言(国际化)以及动态换肤功能

    前言:以下内容,手把手从搭建到最终实现,完成多语言切换以及换装功能. 本地系统环境:win 10 编译器环境:VS2022 社区版 .NET 环境: .NET 6 1.新建一个WPF项目 2.新建完毕 ...

随机推荐

  1. 指数分布的分布函数和概率密度函数的推导,牢记指数分布的分布函数为1-e^(-λx)

    指数分布的分布函数和概率密度函数的推导,牢记指数分布的分布函数为1-e^(-λx) 前言:重在记录,可能出错. 之前推导出了泊松分布的概率公式--泊松分布概率公式的推导,现在推导一下指数分布的分布函数 ...

  2. 42.Linux查看日志的几种方式

    Linux查看日志的命令有多种: tail.cat.tac.head.echo等,本文只介绍几种常用的方法. 1.tail 这个是我最常用的一种查看方式 命令格式: tail[必要参数][选择参数][ ...

  3. 实验四:开源控制器实践——OpenDaylight

    实验要求: (一)基本要求: 1.利用Mininet平台搭建下图所示网络拓扑,并连接OpenDaylight控制器: 2.通过Postman工具调用OpenDaylight提供的API下发流表,实现拓 ...

  4. Java面向对象之类与对象的创建

    类与对象的创建 类是一种抽象的数据类型,它是对某一类事物整体描述/定义,但是并不能代表某一个具体的事物. 1.动物.植物.手机.电脑..... 2.Person类.Pet类.Cat类等,这些类都是用来 ...

  5. cookie,session,token,drf-jwt

    1.cookie,session,token发展史 引入:我们都知道 http 协议本身是一种无状态的协议,一个普通的http请求简单分为三步:客户端发送请求request服务端收到请求并进行处理服务 ...

  6. Windows 安装 Docker 并使用 VS code 连接

    安装前提 Docker是基于linux的,在win10中安装wsl2:Windows Subsystem for Linux,让win10能够原生运行Linux二进制可执行文件的兼容层,且不会产生传统 ...

  7. vue3 h函数

    1. 自定义指令(withDirectives 仅可在setup或render函数中使用)可以使用 withDirectives 将自定义指令应用于 VNode: const { h, resolve ...

  8. Docker之Elastic Search&Kibana保姆级别安装

    Docker之Elastic Search&Kibana保姆级别安装: 如果觉得样式不好:跳转即可 http://www.lifengying.site/(md文件复制过来有些样式会不一样) ...

  9. CentOS 镜像官网下载链接

    CentOS 镜像官网下载链接: https://www.centos.org/download/mirrors/ http://mirrors.aliyun.com/centos/ https:// ...

  10. Java中Set里remove详解

    例如 1 HashSet set = new HashSet(); 2 Person p1 = new Person(1001,"AA"); 3 Person p2 = new P ...