在WPF中,我们可以使用触发器来完成一些特定的需求。而对于WPF触发器来说,其中又可以包含许多功能,比如WPF事件触发器。#t#
顾名思义是在某个事件被触发时来调用这个触发器的相关操作。因为WPF提供了用XAML来标记对象,事件等。
所以其提供了一些在普通.NET开发中看似没用的属性例如IsMouseOver, IsPressed等,这是为了XAML来用的,使其可以很方便的通过某个属性来判断状态,也方便了Property Trigger的应用。
而作为WPF事件触发器来说,它所做的事情和Property Trigger类似,不过是它的内部不能是简单的Setter集合,而必须是TriggerAction的实例。
以下示例演示了如何应用Event Trigger当鼠标点击按钮时,让按钮的阴影效果发生变化。
- < Button Margin="15" Width="200"
Name="myButton">- Click Me to Animate Drop Shadow!
- < Button.BitmapEffect>
- < !-- This BitmapEffect is
targeted by the animation. -->- < DropShadowBitmapEffect
x:Name="myDropShadowBitmapEffect"
Color="Black" ShadowDepth="0" />- < /Button.BitmapEffect>
- < Button.Triggers>
- < EventTrigger RoutedEvent="Button.Click">
- < BeginStoryboard>
- < Storyboard>
- < !-- Animate the movement of the button. -->
- < ThicknessAnimation
- Storyboard.TargetProperty="Margin"
Duration="0:0:0.5"- From="50,50,50,50" To="0,0,50,50"
AutoReverse="True" />- < !-- Animate shadow depth of the effect. -->
- < DoubleAnimation
- Storyboard.TargetName="myDropShadow
BitmapEffect"- Storyboard.TargetProperty="ShadowDepth"
- From="0" To="30" Duration="0:0:0.5"
- AutoReverse="True" />
- < !-- Animate shadow softness of
the effect. As- the Button appears to get farther
from the shadow,- the shadow gets softer. -->
- < DoubleAnimation
- Storyboard.TargetName="myDropSha
dowBitmapEffect"- Storyboard.TargetProperty="Softness"
- From="0" To="1" Duration="0:0:0.5"
- AutoReverse="True" />
- < /Storyboard>
- < /BeginStoryboard>
- < /EventTrigger>
- < /Button.Triggers>
- < /Button>
WPF事件触发器的相关介绍就到这里,希望对大家有所帮助。