Silverlight Style應用想過技巧分享
Silverlight工具的應用方法多種多樣。如果想要全部掌握浙西而應用方法是一個比較復雜的過稱。我們可以在實踐總去逐漸的積累這些應用技巧。本篇的內容較為簡單,主要針對Silverlight Style應用進行一個練習。Style簡要的說就是一些屬性值的集合,作用和CSS比較像。在Silverlight2中定義Style只能同用于同種類型的Element。如下代碼:#t#
- < Style x:Key="ButtonStyleTwo"
TargetType="Button"> - < Setter Property="FontFamily"
Value="Arial" /> - < Setter Property="FontSize"
Value="40" /> - < Setter Property="Foreground"
Value="Blue" /> - < Setter Property="Background">
- < /Style>
這就是一個定義好的Silverlight Style應用,它只能用于Button組件,看看它如何產生作用,將Style直接嵌入Button:
- < Button Content="Button">
- < Button.Style>
- < Style TargetType="Button">
- < Setter Property="FontFamily"
Value="Arial" />- < Setter Property="FontSize"
Value="40" />- < Setter Property="Foreground"
Value="Blue" />- < Setter Property="Background">
- < Setter.Value>
- < LinearGradientBrush>
- < GradientStop Color="Green"
Offset="0">< /GradientStop>- < GradientStop Color="Red"
Offset="1">< /GradientStop>- < /LinearGradientBrush>
- < /Setter.Value>
- < /Setter>
- < /Style>
- < /Button.Style>< /Button>
當然也可以通過Resource的方式來設置Silverlight Style應用,分別設置了兩個Style:ButtonStyleOne、ButtonStyleTwo,
ButtonStyleOne設置為默認Style,ButtonStyleTwo用于在點擊Button后切換Style。
- XAML Code:
- < UserControl x:Class="Silverligh
tTest.Page"- xmlns="http://schemas.microsoft.
com/winfx/2006/xaml/presentation"- xmlns:x="http://schemas.microsoft.
com/winfx/2006/xaml"- Width="400">
- < UserControl.Resources>
- < Style x:Key="ButtonStyleOne"
TargetType="Button">- < Setter Property="FontFamily"
Value="Georgia" />- < Setter Property="FontSize"
Value="40" />- < Setter Property="Foreground"
Value="SlateGray" />- < Setter Property="Background">
- < Setter.Value>
- < LinearGradientBrush>
- < GradientStop Color="Blue"
Offset="0">< /GradientStop>- < GradientStop Color="Yellow"
Offset="1">< /GradientStop>- < /LinearGradientBrush>
- < /Setter.Value>
- < /Setter>
- < /Style>
- < Style x:Key="ButtonStyleTwo"
TargetType="Button">- < Setter Property="FontFamily"
Value="Arial" />- < Setter Property="FontSize"
Value="40" />- < Setter Property="Foreground"
Value="Pink" />- < Setter Property="Background">
- < Setter.Value>
- < LinearGradientBrush>
- < GradientStop Color="Green"
Offset="0">< /GradientStop>- < GradientStop Color="Red"
Offset="1">< /GradientStop>- < /LinearGradientBrush>
- < /Setter.Value>
- < /Setter>
- < /Style>
- < /UserControl.Resources>
- < StackPanel x:Name="LayoutRoot"
Background="White">- < Button x:Name="TestButton"
Content="A Customized Button"
Style="{StaticResource ButtonStyleOne}"
Click="Button_Click">< /Button>- < /StackPanel>
- < /UserControl>
用C#來切換Silverlight Style應用,如下代碼:
- private void Button_Click
(object sender, RoutedEventArgs e)- {
- //切換Style:ButtonStyleTwo
- TestButton.Style = this.Resources
["ButtonStyleTwo"] as Style;- //修改Button文字 TestButton.
Content = "Style Changed";- }