WPF—样式
1.样式介绍
WPF 种的各类控件元素,都可以自由的设置其样式。诸如:
字体 FontFamily
字体大小 FontSize
字体颜色Background
背景颜色Foreground
边距 Margin
水平位置 HorizaontalAlignment
垂直位置 VerticalAlignment 等,样式则是组织和重用以上的重要工具。不是使用重复的标记填充xaml,通过Style 创建一系列封装所有这些细节以上的样式,然后通过元素的Style属性设定其样式。
2.样式的定义
1.样式的使用
<Window.Resources>
<Style x:Key="butonStyle" TargetType="Button">
<Setter Property="Background" Value="Yellow"></Setter>
<Setter Property="BorderBrush" Value="GreenYellow" ></Setter>
</Style>
</Window.Resources>
<Grid>
<Button Style="{StaticResource butonStyle}" Content="按钮1" Width="50" Height="50"/>
</Grid>
2.样式的继承 BaseOn
<Window.Resources>
<Style x:Key="butonStyle" TargetType="Button">
<Setter Property="Background" Value="Yellow"></Setter>
<Setter Property="BorderBrush" Value="GreenYellow" ></Setter>
</Style>
<Style x:Key="buttonStyle1" TargetType="Button" BasedOn="{StaticResource butonStyle}">
<Setter Property="Foreground" Value="Red"></Setter>
<Setter Property="FontSize" Value="14" ></Setter>
</Style>
</Window.Resources>
<Grid>
<StackPanel>
<Button Style="{StaticResource butonStyle}" Content="按钮1" Width="50" Height="50"/>
<Button Style="{StaticResource buttonStyle1}" Content="按钮2" Width="50" Height="50"/>
</StackPanel>
</Grid>
2.触发器
触发器可以理解为,当达到了触发条件,那么就执行预期内的响应,可以是样式、数据变化、动画等。触发器通过Style.Trigger集合连接到样式中,每个样式都可以有任意多个触发器,并且每个触发器都是System.windows.TriggerBase的派生类实例,以下是触发器的类型:
1.Trigger
监测依赖属性的变化,触发器生效
2.MultiTriggler
通过多个条件的设置、达到满足条件、触发器生效
3.DataTrigger
通过数据的变化、触发器生效
4.MultiDataTrigger:多个数据条件的触发器
5.EventTrigger
事件触发器,触发了某类事件时,触发器生效。