设置外观和感觉

时间:2015-06-03 20:18:47

标签: c# wpf

我在两个不同的项目中有以下LAF(“外观和感觉”,来自Java的Swing):

类型1:

enter image description here

类型2:

enter image description here

我想知道如何在这些和其他LAF之间切换。 提前谢谢。

2 个答案:

答案 0 :(得分:0)

我知道快速交换不同视觉样式的最简单,最易维护的方法是在外部ResourceDictionary中使用样式。对于下面的示例,您将创建一个名为“Skins”的新解决方案文件夹,然后添加一个名为“MainSkin.xaml”的新类。

MainWindow.xaml

<Window.Resources>
    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary Source="Skins/MainSkin.xaml" />
        </ResourceDictionary.MergedDictionaries>
    </ResourceDictionary>
</Window.Resources>

<Grid>
    <TextBlock Style="{StaticResource TextBlockV1}" Text="This is some text." />
</Grid>

外观\ MainSkin.xaml

<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">

    <Style x:Key="TextBlockV1" TargetType="TextBlock">
        <Setter Property="HorizontalAlignment" Value="Center" />
        <Setter Property="FontFamily" Value="Comic Sans MS" />
        <Setter Property="FontSize" Value="14" />
    </Style>

    <Style x:Key="TextBlockV2" TargetType="TextBlock">
        <Setter Property="HorizontalAlignment" Value="Right" />
        <Setter Property="FontFamily" Value="Courier New" />
        <Setter Property="FontSize" Value="30" />
    </Style>

    <Style x:Key="TextBlockV3" TargetType="TextBlock">
        <Setter Property="HorizontalAlignment" Value="Left" />
        <Setter Property="FontFamily" Value="Times New Roman" />
        <Setter Property="FontSize" Value="8" />
    </Style>

</ResourceDictionary>

答案 1 :(得分:-1)

Change look and feel in WPF application?

这将引导您WPF Toolkit,它会向您展示如何在页面的xml中设置主题。