我希望让用户选择我的应用程序具有哪种样式。小例子是2个按钮,如果用户按下按钮1则背景颜色变为红色,如果用户按下按钮2则背景颜色变为绿色。
我该怎么做?我使用多个资源词典?并在按下按钮时应用它们?最常见的做法是什么?
答案 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将窗口设置为具有绿色背景。