Silverlight学习之运行时改变样式

在Silverlight应用程序中控件的样式一般都是在编译前定义好的,并且用Style标签来应用样式。但是个别情况下,需要在运行时候动态改变样式。在下边的例子中会看到点击按钮后,通过后台代码来改变按钮的样式。

首先在全局样式里边里边定义两个不同的样式

 <Style x:Name="btnAdd" TargetType="Button">
            <Setter Property="Width" Value="150" />
            <Setter Property="Height" Value="30" />
            <Setter Property="Content" Value="Add" />
            <Setter Property="Foreground" Value="Red" />
        </Style>


        <Style x:Name="btnEdit" TargetType="Button">
            <Setter Property="Width" Value="350" />
            <Setter Property="Height" Value="130" />
            <Setter Property="Content" Value="Edit" />
            <Setter Property="Foreground" Value="Green" />
            <Setter Property="FontSize" Value="44" />
            <Setter Property="Background" Value="Red" />
        </Style>

在页面中定义一个Button,Button默认的样式是btnAdd

  <Button x:Name="btnTest" Style="{StaticResource btnAdd}" Click="Button_Click" Margin="50" />

效果

后台Button的click事件

            Style btnStyle = App.Current.Resources["btnEdit"] as Style;
            btnTest.Style = btnStyle;

点击后效果

Silverlight学习之运行时改变样式

这样就达到了在运行时候改变控件样式的目的。

 

你可能感兴趣的:(silverlight)