多个样式wpf,用户可以从中选择

时间:2009-12-09 12:13:23

标签: wpf styles

我希望让用户选择我的应用程序具有哪种样式。小例子是2个按钮,如果用户按下按钮1则背景颜色变为红色,如果用户按下按钮2则背景颜色变为绿色。

我该怎么做?我使用多个资源词典?并在按下按钮时应用它们?最常见的做法是什么?

1 个答案:

答案 0 :(得分:1)

作为一个非常简单的例子:

 <Window.Resources>
    <Style TargetType="Window" x:Key="windowStyleOne">
        <Setter Value="123" Property="Content" />
        <Setter Value="Red" Property="Background"/>
    </Style>
    <Style TargetType="Window" x:Key="windowStyleTwo">
        <Setter Value="456" Property="Content" />
        <Setter Value="Green" Property="Background" />
    </Style>
</Window.Resources>

<Button Name ="myButtonOne"  Click="ButtonOne_Click">Red</Button>
<Button Name="myButtonTwo" Click="ButtonTwo_Click">Green</Button>


private void ButtonOne_Click(object sender, RoutedEventArgs e)
{   
   this.Style = (Style)(this.Resources["windowStyleOne"]);
}

private void ButtonTwo_Click(object sender, RoutedEventArgs e)
{
    this.Style = (Style)(this.Resources["windowStyleTwo"]);
}

编辑:实际上是一个完全符合您建议的例子的例子。 myButtonOne使主窗口具有红色背景,myButtonTwo将窗口设置为具有绿色背景。