首页 > 其他 > 详细

DevExpress 动态换肤

时间:2014-05-22 13:49:57      阅读:403      评论:0      收藏:0      [点我收藏+]

我们都知道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的完整代码:

bubuko.com,布布扣
<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>
bubuko.com,布布扣
bubuko.com,布布扣
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(); //重新布局
              };

        }
     }
}
bubuko.com,布布扣

 

 

 

 

DevExpress 动态换肤,布布扣,bubuko.com

DevExpress 动态换肤

原文:http://www.cnblogs.com/amw2738/p/3742057.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!