Silverlight Style应用想过技巧分享

Silverlight工具的应用方法多种多样。如果想要全部掌握浙西而应用方法是一个比较复杂的过称。我们可以在实践总去逐渐的积累这些应用技巧。本篇的内容较为简单,主要针对Silverlight Style应用进行一个练习。Style简要的说就是一些属性值的集合,作用和CSS比较像。在Silverlight2中定义Style只能同用于同种类型的Element。如下代码:#t#

  1. < Style x:Key="ButtonStyleTwo" 
    TargetType="Button"> 
  2. < Setter Property="FontFamily"
     Value="Arial" /> 
  3. < Setter Property="FontSize" 
    Value="40" /> 
  4. < Setter Property="Foreground" 
    Value="Blue" /> 
  5. < Setter Property="Background">
  6. < /Style> 

这就是一个定义好的Silverlight Style应用,它只能用于Button组件,看看它如何产生作用,将Style直接嵌入Button:

 

 
 
 
  1. < Button Content="Button"> 
  2. < Button.Style> 
  3. < Style TargetType="Button"> 
  4. < Setter Property="FontFamily" 
    Value="Arial" /> 
  5. < Setter Property="FontSize" 
    Value="40" /> 
  6. < Setter Property="Foreground" 
    Value="Blue" /> 
  7. < Setter Property="Background"> 
  8. < Setter.Value> 
  9. < LinearGradientBrush> 
  10. < GradientStop Color="Green"
     Offset="0">< /GradientStop> 
  11. < GradientStop Color="Red" 
    Offset="1">< /GradientStop> 
  12. < /LinearGradientBrush> 
  13. < /Setter.Value> 
  14. < /Setter> 
  15. < /Style> 
  16. < /Button.Style>< /Button>  

 

当然也可以通过Resource的方式来设置Silverlight Style应用,分别设置了两个Style:ButtonStyleOne、ButtonStyleTwo,
ButtonStyleOne设置为默认Style,ButtonStyleTwo用于在点击Button后切换Style。

 

 
 
 
  1. XAML Code:  
  2.  
  3. < UserControl x:Class="Silverligh
    tTest.Page"
     
  4. xmlns="http://schemas.microsoft.
    com/winfx/2006/xaml/presentation"
       
  5. xmlns:x="http://schemas.microsoft.
    com/winfx/2006/xaml"
     
  6. Width="400"> 
  7. < UserControl.Resources> 
  8. < Style x:Key="ButtonStyleOne" 
    TargetType="Button"> 
  9. < Setter Property="FontFamily" 
    Value="Georgia" /> 
  10. < Setter Property="FontSize" 
    Value="40" /> 
  11. < Setter Property="Foreground"
     Value="SlateGray" /> 
  12. < Setter Property="Background"> 
  13. < Setter.Value> 
  14. < LinearGradientBrush> 
  15. < GradientStop Color="Blue" 
    Offset="0">< /GradientStop> 
  16. < GradientStop Color="Yellow"
     Offset="1">< /GradientStop> 
  17. < /LinearGradientBrush> 
  18. < /Setter.Value> 
  19. < /Setter> 
  20. < /Style> 
  21. < Style x:Key="ButtonStyleTwo" 
    TargetType="Button"> 
  22. < Setter Property="FontFamily" 
    Value="Arial" /> 
  23. < Setter Property="FontSize" 
    Value="40" /> 
  24. < Setter Property="Foreground"
     Value="Pink" /> 
  25. < Setter Property="Background"> 
  26. < Setter.Value> 
  27. < LinearGradientBrush> 
  28. < GradientStop Color="Green"
     Offset="0">< /GradientStop> 
  29. < GradientStop Color="Red" 
    Offset="1">< /GradientStop> 
  30. < /LinearGradientBrush> 
  31. < /Setter.Value> 
  32. < /Setter> 
  33. < /Style> 
  34. < /UserControl.Resources> 
  35. < StackPanel x:Name="LayoutRoot"
     Background="White"> 
  36. < Button x:Name="TestButton"
     Content="A Customized Button"
     Style="{StaticResource ButtonStyleOne}" 
    Click="Button_Click">< /Button> 
  37. < /StackPanel> 
  38. < /UserControl>  

 

用C#来切换Silverlight Style应用,如下代码:

 

 
 
 
  1. private void Button_Click
    (object sender, RoutedEventArgs e)  
  2. {  
  3. //切换Style:ButtonStyleTwo  
  4. TestButton.Style = this.Resources
    ["ButtonStyleTwo"] as Style;  
  5. //修改Button文字 TestButton.
    Content
     = "Style Changed";  

 

THE END