EventTrigger 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
表示一个触发器,该触发器应用一组操作以响应一个事件。
public ref class EventTrigger : System::Windows::TriggerBase, System::Windows::Markup::IAddChild
[System.Windows.Markup.ContentProperty("Actions")]
public class EventTrigger : System.Windows.TriggerBase, System.Windows.Markup.IAddChild
[<System.Windows.Markup.ContentProperty("Actions")>]
type EventTrigger = class
inherit TriggerBase
interface IAddChild
Public Class EventTrigger
Inherits TriggerBase
Implements IAddChild
- 继承
- 属性
- 实现
示例
此示例演示如何使用样式中的事件触发器对 的 FrameworkElement和 MouseLeave 事件进行动画处理MouseEnter。 在此示例中, Style 将 TargetType 设置为 Rectangle。 因此,无需使用类名限定 MouseEnter
和 MouseLeave
事件名称。
<Style TargetType="Rectangle">
<Setter Property="Width" Value="50" />
<Setter Property="Height" Value="50" />
<Setter Property="Margin" Value="20" />
<Setter Property="HorizontalAlignment" Value="Left" />
<Style.Triggers>
<EventTrigger RoutedEvent="MouseEnter">
<BeginStoryboard>
<Storyboard>
<DoubleAnimation To="300" Duration="0:0:1.5"
AccelerationRatio="0.10" DecelerationRatio="0.25"
Storyboard.TargetProperty="(Canvas.Width)" />
</Storyboard>
</BeginStoryboard>
</EventTrigger>
<EventTrigger RoutedEvent="MouseLeave">
<BeginStoryboard>
<Storyboard>
<DoubleAnimation Duration="0:0:1.5"
AccelerationRatio="0.10" DecelerationRatio="0.25"
Storyboard.TargetProperty="(Canvas.Width)" />
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</Style.Triggers>
</Style>
注解
Trigger对象具有 、 和 属性,这些属性根据特定属性的状态应用更改或操作,而 EventTrigger 对象在发生指定的路由事件时启动一组 Actions 。ExitActionsEnterActionsSetters 例如,当鼠标指针位于某个用户界面 (UI) 控件上时,可能需要使用 EventTrigger 来启动一组动画。 与 不同 Trigger, EventTrigger 没有终止状态的概念,因此一旦引发事件的条件不再成立,操作将不会撤消。
请注意,使用 EventTrigger时,需要选择不干扰控件固有行为的事件。 控件(如 Button 或 TextBox )对用户输入事件(如鼠标单击和键盘事件)执行特定操作。 例如,如果要设置按钮的样式,并尝试将 MouseDown 事件设置为 RoutedEvent 的 EventTrigger, EventTrigger 则 永远不会应用 ,因为该事件首先由按钮处理。 可以改用 事件 PreviewMouseDown 或其他事件。
使用数据绑定时,如果使用 TargetUpdated 事件,则必须将 NotifyOnTargetUpdated 对象的值 Binding 设置为 true
,才能引发事件。
TriggerAction向 对象添加子EventTrigger级会将其隐式添加到 对象的 EventTrigger 。TriggerActionCollection
构造函数
EventTrigger() |
初始化 EventTrigger 类的新实例。 |
EventTrigger(RoutedEvent) |
使用指定的事件初始化 EventTrigger 类的新实例。 |
属性
Actions |
获取事件发生时要应用的操作的集合。 |
DependencyObjectType |
获取 DependencyObjectType 包装此实例的 CLR 类型的 。 (继承自 DependencyObject) |
Dispatcher |
获取与此 Dispatcher 关联的 DispatcherObject。 (继承自 DispatcherObject) |
EnterActions |
获取要在触发器对象变为活动状态时应用的 TriggerAction 对象的集合。 此属性不适用于 EventTrigger 类。 (继承自 TriggerBase) |
ExitActions |
获取要在触发器对象变为非活动状态时应用的 TriggerAction 对象的集合。 此属性不适用于 EventTrigger 类。 (继承自 TriggerBase) |
IsSealed |
获取一个值,该值指示此实例当前是否为密封的(只读)。 (继承自 DependencyObject) |
RoutedEvent |
获取或设置将激活该触发器的 RoutedEvent。 |
SourceName |
获取或设置对象的名称,该对象具有激活此触发器的事件。 仅元素触发器或模板触发器可使用此名称。 |
方法
显式接口实现
IAddChild.AddChild(Object) |
添加子对象。 |
IAddChild.AddText(String) |
将节点的文本内容添加到对象。 |