方法一、定义在控件内部
<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>