Silverlight样式定义

方法一、定义在控件内部

<Canvas Background="Red" Height="100" HorizontalAlignment="Left" Margin="90,80,0,0" Name="canvas1" VerticalAlignment="Top" Width="200" />

方法二、定义在控件外部

<UserControl.Resources>
        <Style x:Key="StyleName" TargetType="Canvas"><!--x:Key是指样式的名称-->
            <Setter Property="Background" Value="Red"></Setter>
        </Style>
    </UserControl.Resources>
    <Grid x:Name="LayoutRoot" Background="White">
        <Canvas Style="{StaticResource StyleName}" Height="100" HorizontalAlignment="Left" Margin="90,80,0,0" Name="canvas1" VerticalAlignment="Top" Width="200" /><!--让Canvas的样式指定为静态的资源-->        
    </Grid>

  要想让外部样式应用于所有相同类型的控件,只要去掉资源中的样式名称,则TargetType指定的控件都将应用该样式

<UserControl.Resources>
        <Style TargetType="Canvas">
            <Setter Property="Background" Value="Red"></Setter>
        </Style>
    </UserControl.Resources>
    <Grid x:Name="LayoutRoot" Background="White">
        <Canvas Height="100" HorizontalAlignment="Left" Margin="90,80,0,0" Name="canvas1" VerticalAlignment="Top" Width="200" />
        <Canvas Height="100" HorizontalAlignment="Left" Margin="121,188,0,0" Name="canvas2" VerticalAlignment="Top" Width="200" />
    </Grid>

 方法三、定义全局的样式
  将样式放到App.xaml文件的资源定义里

 <Application.Resources>
        <Style TargetType="Canvas">           
            <Setter Property="Background" Value="Red"></Setter>
        </Style>
    </Application.Resources>

 

posted @ 2012-04-11 22:17  飛雲若雪  阅读(2418)  评论(0)    收藏  举报