前段事件接触silverlight 方面的项目,从而了解了下sl的样式有
(1)内部样式局部样式
sl 的局部样式和html 的行样式相似 书写的方式 button的样式
<Canvas>
<Button Height="50" Width="150" Canvas.Left="50" Canvas.Top="20">
<Button.Style>
<Style TargetType="Button">
<Setter Property="Foreground" Value="Red"></Setter>
<Setter Property="FontSize" Value="20"></Setter>
</Style>
</Button.Style><!--样式-->
<Button.Content> <!--修改button 的内容-->
<StackPanel Orientation="Horizontal">
<Image x:Name="image_error" Source="../img/Error.png" ></Image>
<TextBlock Text="报警"></TextBlock>
</StackPanel>
</Button.Content>
</Button>
</Canvas>
(2)页内样式
<UserControl.Resources>
<Style x:Key="
ButtonStyle2
" TargetType="Button">
<Setter Property="Foreground" Value="Red"></Setter>
<Setter Property="FontSize" Value="20"></Setter>
</Style>
</UserControl.Resources>
<Canvas>
<Button Height="50" Width="150" Style="{StaticResource ButtonStyle2}" Canvas.Left="50" Canvas.Top="20">
</Canvas>
(3)外部样式
进行创建一个字典表 里面进行书写样式
<Style x:Key="ButtonStyle2" TargetType="Button">
<Setter Property="Background" Value="#FF1F3B53"/>
<Setter Property="Foreground" Value="#FF000000"/>
<Setter Property="Padding" Value="3"/>
<Setter Property="BorderThickness" Value="1"/>
<Setter Property="BorderBrush">
<Setter.Value>
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="#FFA3AEB9" Offset="0"/>
<GradientStop Color="#FF8399A9" Offset="0.375"/>
<GradientStop Color="#FF718597" Offset="0.375"/>
<GradientStop Color="#FF617584" Offset="1"/>
</LinearGradientBrush>
</Setter.Value>
</Setter>
</Style >
在app界面中进行引用字典表的样式 这样可以定义为全局样式,无论在那个界面都可以使用
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="Style/Dictionary1.xaml"></ResourceDictionary>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
进行引用全局样式
<Button Foreground="White" Height="25" Canvas.Left="72" Width="70" Style="{StaticResource ButtonStyle2}" />
局部样式和 页内样式 和全局样式的区别 在于
局部样式只可以使用定义的这一个控件
页内样式可以作用于 同一个界面的 同一个类型的控件的
全局样式作用于 这个项目的任何一个界面 的相同类型