普通触发器Trigger(MultiTrigger),数据触发器DataTrigger(MultiDataTrigger),事件触发器EventTrigger
1.style中使用
<Style TargetType="{x:Type CheckBox}">
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Foreground" Value="Red"/>
</Trigger>
<DataTrigger Binding="{Binding Text, ElementName=''}" Value="1">
<Setter Property="Foreground" Value="Blue"/>
</DataTrigger>
<EventTrigger RoutedEvent="Mouse.MouseEnter">
<EventTrigger.Actions>
<BeginStoryboard>
<Storyboard>
<DoubleAnimation
Duration="0:0:0.2"
Storyboard.TargetProperty="Width"
To="" />
</Storyboard>
</BeginStoryboard>
</EventTrigger.Actions>
</EventTrigger>
</Style.Triggers>
</Style>
2.ControlTemplate中使用
<ControlTemplate TargetType="{x:Type Button}">
<StackPanel>
<Border Height="" Background="Red"></Border>
</Border>
</StackPanel>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter TargetName="Border" Property="Background" Value="#FFC2E0FF"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
3.DataTemplate中使用
<DataTemplate DataType="{x:Type local:Employee}">
<Grid>
<TextBlock x:Name="txtName" Text="{Binding Name}"/>
</Grid>
<DataTemplate.Triggers>
<DataTrigger Binding="{Binding Sex}" Value="Male">
<Setter TargetName="txtName" Property="Foreground" Value="LightBlue"/>
</DataTrigger>
</DataTemplate.Triggers>
</DataTemplate>