2触发器
2.1简单触发器(Trigger)
当TextBox获取到焦点时,就会根据触发器修改其属性。
<Window.Resources>
<Style x:Key="textBoxStyle"TargetType="TextBox">
<Style.Setters>
<SetterProperty="FontSize" Value="40"></Setter>
</Style.Setters>
<Style.Triggers>
<TriggerProperty="IsFocused" Value="True">
<Trigger.Setters>
<SetterProperty="Background" Value="Red"></Setter>
</Trigger.Setters>
</Trigger>
</Style.Triggers>
</Style>
</Window.Resources>
<StackPanel>
<TextBox Style="{StaticResourcetextBoxStyle}">TextBox</TextBox>
<Button Name="button1" Content="Button1"></Button>
<Button Name="button2" Content="Button2"></Button>
</StackPanel>
多条件触发器(MultiTrigger):当所有条件都满足时才运行属性设置操作。
<Window.Resources>
<Stylex:Key="textBoxStyle" TargetType="TextBox">
<Style.Setters>
<SetterProperty="FontSize" Value="40"></Setter>
</Style.Setters>
<Style.Triggers>
<MultiTrigger>
<MultiTrigger.Conditions>
<ConditionProperty="IsFocused" Value="True"></Condition>
<ConditionProperty="IsMouseOver" Value="True"></Condition>
</MultiTrigger.Conditions>
<MultiTrigger.Setters>
<SetterProperty="Background" Value="Red"></Setter>
</MultiTrigger.Setters>
</MultiTrigger>
</Style.Triggers>
</Style>
</Window.Resources>
2.2事件触发器
<Window.Resources>
<Style x:Key="textBoxStyle"TargetType="TextBox">
<Style.Setters>
<SetterProperty="FontSize" Value="40"></Setter>
</Style.Setters>
<Style.Triggers>
<EventTriggerRoutedEvent="Mouse.MouseEnter">
<EventTrigger.Actions>
<BeginStoryboard>
<Storyboard>
<DoubleAnimation Duration="0:0:0.2"Storyboard.TargetProperty="FontSize" To="60">
</DoubleAnimation>
</Storyboard>
</BeginStoryboard>
</EventTrigger.Actions>
</EventTrigger>
<EventTriggerRoutedEvent="Mouse.MouseLeave">
<EventTrigger.Actions>
<BeginStoryboard>
<Storyboard>
<DoubleAnimation Duration="0:0:0.2"Storyboard.TargetProperty="FontSize" To="40">
</DoubleAnimation>
</Storyboard>
</BeginStoryboard>
</EventTrigger.Actions>
</EventTrigger>
</Style.Triggers>
</Style>
</Window.Resources>
<StackPanel>
<TextBox Style="{StaticResourcetextBoxStyle}">TextBox</TextBox>
</StackPanel>