WPF trigger的主要类型有:Trigger、MultiTrigger、DataTrigger、MultiDataTrigger、EventTrigger几种。
(1)属性触发器
<TextBox Height="23" Margin="37,44,121,0" Name="txtName" VerticalAlignment="Top" >
<TextBox.Resources>
<Style TargetType="{x:Type TextBox}">
<Setter Property="Foreground" Value="SkyBlue"/>
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Foreground" Value="Red"/>
</Trigger>
</Style.Triggers>
</Style>
</TextBox.Resources> Hello World
</TextBox>
效果:文本框的字体默认为蓝色;鼠标经过时颜色变为红色。
(2)事件触发器
<Grid x:Name="grid1">
<Image x:Name="txtEvent" Margin="37,107,0,0" Height="23" VerticalAlignment="Top" HorizontalAlignment="Left" Width="89" Source="/testWpf;component/img/a.png">
<Image.Triggers>
<EventTrigger RoutedEvent="Mouse.MouseEnter">
<EventTrigger.Actions>
<BeginStoryboard>
<Storyboard>
<DoubleAnimation Duration="0:0:0.2" Storyboard.TargetName="grid1" Storyboard.TargetProperty="Width" From="150" To="200"></DoubleAnimation>
</Storyboard>
</BeginStoryboard></EventTrigger.Actions>
</EventTrigger>
<EventTrigger RoutedEvent="Mouse.MouseLeave">
<BeginStoryboard>
<Storyboard>
<DoubleAnimation Duration="0:0:0.2" Storyboard.TargetName="grid1" Storyboard.TargetProperty="Width" From="200" To="150"></DoubleAnimation>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</Image.Triggers>
</Image>
</Grid>