DevExpress 动态换肤
我们都知道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 动态换肤的更多相关文章
- hybird之web动态换肤实现
前言 最近在重构个hybird(原生的壳包着Web页面)的UI框架,进行到了做换肤功能的阶段,所以这里是我思考的解决的方法. 预想 目前实现换肤的功能无非就两种做法. 1.写几个皮肤文件,然后切换使用 ...
- CocoStudio基础教程(4)骨骼动画的动态换肤
1.概述 游戏中人物的状态会发生改变,而这种改变通常要通过局部的变化来表现出来.比如获得一件装备后人物形象的改变,或者战斗中武器.防具的损坏等.这些变化的实现就要通过动态换肤来实现. 2.运行到程序 ...
- duilib入门之贴图描述、类html文本描述、动态换肤、Dll插件、资源打包
转载自duilib入门文档 贴图描述: Duilib的表现力丰富很大程度上得益于贴图描述的简单强大.Duilib的贴图描述分为简单模式和复杂模式两种. 简单模式使用文件名做为贴图描述内容,在这种方式下 ...
- Cocos2d-x 3.0 cocostudio骨骼动画的动态换肤
概述 游戏中人物的状态会发生改变,而这种改变通常要通过局部的变化来表现出来.比如获得一件装备后人物形象的改变,或者战斗中武器.防具的损坏等.这些变化的实现就要通过动态换肤来实现.在接下来的这个Demo ...
- Android动态换肤(二、apk免安装插件方式)
在上一篇文章Android动态换肤(一.应用内置多套皮肤)中,我们了解到,动态换肤无非就是调用view的setBackgroundResource(R.drawable.id)等方法设置控件的背景或者 ...
- Android动态换肤(一、应用内置多套皮肤)
动态换肤在很多android应用中都有使用,用户根据自己的喜好设置皮肤主题,可以增强用户使用应用的舒适度. Android换肤可以分为很多种,它们从使用方式,用户体验以及项目框架设计上体现了明显的差异 ...
- element-ui 动态换肤
1.在安装好 element-ui@2.x 以后,首先安装sass-loader npm i sass-loader node-sass -D 2.安装 element-theme npm i ele ...
- WPF之动态换肤
原文:WPF之动态换肤 如何实现换肤呢,对于复杂的换肤操作,如,更换按钮样式.窗口样式等,我们需要写多个资源字典来表示不同的皮肤,通过动态加载不同的资源字典来实现换肤的效果:对于简单的换肤操作,如更改 ...
- vue+ element 动态换肤
转至 https://www.cnblogs.com/dengqichang/p/10364455.html 一.搭建好项目的环境. 二.根据ElementUI官网的自定义主题(http://elem ...
- 【WPF】实现动态切换语言(国际化)以及动态换肤功能
前言:以下内容,手把手从搭建到最终实现,完成多语言切换以及换装功能. 本地系统环境:win 10 编译器环境:VS2022 社区版 .NET 环境: .NET 6 1.新建一个WPF项目 2.新建完毕 ...
随机推荐
- pat乙级1014 福尔摩斯的约会
#include<stdio.h> #include<stdlib.h> #include<string.h> #include<math.h> int ...
- js控制关闭layui的switch开关
<input class="switch" type="checkbox" lay-skin="switch" lay-filter= ...
- AD域安装后无法打开网络适配器,提示无法访问指定设备,路径或文件,你可能没有。。。
虚拟机安装win 2016,配置网络,安装VM tools,激活,重启. 修改计算机名,重启,安装AD域,DNS,重启 然后准备修改DNS指向的时候发现无法打开更改适配器选项. 打开服务器管理器,点击 ...
- aop切面记日志
package com.netauth.utils.component; import java.lang.annotation.ElementType; import java.lang.annot ...
- tabs 滑动效果
https://www.zhangxinxu.com/wordpress/2020/07/css-var-improve-components/ 伪类选择器 https://blog.csdn.net ...
- IT之软件公司组织架构
总结一下软件企业的组织架构,软件公司大部分都很年轻,整个行业还在调整期,一般规模都在300人以内,现在国内大型的软件产品公司都不是靠软件起家的,国内软件三强:华为.中信.海尔都是从硬件甚至是家电做起的 ...
- winform应用程序
1.winform桌面应用程序是一种智能的客户端技术,我们可以使用winform应用程序帮助我们获得信息或者传输信息等 2.属性 Names:在后台要获得前台的控件对象,需要使用Name属性 Visi ...
- js将json数据保存下载为json文件
const button = document.createElement('a'); button.onclick = () => { // 要保存的字符串, 需要先将数据转成字符串 cons ...
- SVN检出未响应,版本库浏览打不开卡死。
今天遇到一个奇葩问题. 1.换了新电脑,首先SVN地址没问题.检出就未响应,不弹出输入用户名,密码. 2.发现装了讯软加密软件,后安装的SVN.(未告知管理员,对新机加密软件配置).配置完可以正常用了 ...
- netmiko批量操作网络设备_pandas版
from concurrent.futures import ThreadPoolExecutor import netmiko import os from threading import Loc ...