单条件的触发器
触发器需要写在style 样式表中
<Style.Triggers><Trigger Property="IsMouseOver" Value="True"><Setter Property="Foreground" Value="Red"/><Setter Property="Width" Value="220"/><Setter Property="Height" Value="45"/></Trigger></Style.Triggers>
<Window.Resources><Style x:Key="baseButtonStyle" TargetType="Button"><Setter Property="Width" Value="200"/><Setter Property="Height" Value=" 40"/></Style><Style x:Key="defaultButtonStyle" TargetType="Button" BasedOn="{StaticResource baseButtonStyle}"><Setter Property="FontSize" Value="25"/><Setter Property="Foreground" Value="blue"/><!--这个位置将定义触发器--><Style.Triggers><Trigger Property="IsMouseOver" Value="True"><Setter Property="Foreground" Value="Red"/><Setter Property="Width" Value="220"/><Setter Property="Height" Value="45"/></Trigger></Style.Triggers></Style></Window.Resources><Grid><StackPanel><Button Style="{StaticResource defaultButtonStyle}" Content="hello" /><Button Style="{StaticResource defaultButtonStyle}" Content="hello" /><Button Style="{StaticResource defaultButtonStyle}" Content="hello" /></StackPanel></Grid>
多条件触发器
多条件触发器是可以同时监视多个条件,同时也可以和单条件触发器同时存在:
下面介绍一个,当按钮被按下且满足IsmouseOver 的时候触发的多条件触发器
<Window.Resources><Style x:Key="baseButtonStyle" TargetType="Button"><Setter Property="Width" Value="200"/><Setter Property="Height" Value=" 40"/></Style><Style x:Key="defaultButtonStyle" TargetType="Button" BasedOn="{StaticResource baseButtonStyle}"><Setter Property="FontSize" Value="25"/><Setter Property="Foreground" Value="blue"/><!--这个位置将定义触发器--><Style.Triggers><MultiTrigger><MultiTrigger.Conditions><Condition Property="IsMouseOver" Value="true"/><Condition Property="IsFocused" Value="true"/><Condition Property="IsPressed" Value="true"/></MultiTrigger.Conditions><MultiTrigger.Setters><Setter Property="Foreground" Value="Red"/><Setter Property="Width" Value="220"/><Setter Property="Height" Value="45"/></MultiTrigger.Setters></MultiTrigger><!--<Trigger Property="IsMouseOver" Value="True"><Setter Property="Foreground" Value="Red"/><Setter Property="Width" Value="220"/><Setter Property="Height" Value="45"/></Trigger>--></Style.Triggers></Style></Window.Resources><Grid><StackPanel><Button Style="{StaticResource defaultButtonStyle}" Content="hello" /><Button Style="{StaticResource defaultButtonStyle}" Content="hello" /><Button Style="{StaticResource defaultButtonStyle}" Content="hello" /></StackPanel></Grid>
事件触发器:
时间触发器主要是基于事件的触发,这面使用的代码时Event .Trigger
需要住一事件触发器需要写在 下面,类似下面的代码
事件触发后会演示一个动画
<!--事件触发器--><EventTrigger RoutedEvent="MouseEnter"><EventTrigger.Actions><!--创建一个动画 如,创建一个故事板--><BeginStoryboard><Storyboard><DoubleAnimation Duration=" 0:0:0.2"Storyboard.TargetProperty="FontSize"To="30"> </DoubleAnimation></Storyboard></BeginStoryboard></EventTrigger.Actions>