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>