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
Event |
初始化 EventTrigger 类的新实例。 |
Event |
使用指定的事件初始化 EventTrigger 类的新实例。 |
Actions |
获取事件发生时要应用的操作的集合。 |
Dependency |
获取 DependencyObjectType 包装此实例的 CLR 类型的 。 (继承自 DependencyObject) |
Dispatcher |
获取与此 Dispatcher 关联的 DispatcherObject。 (继承自 DispatcherObject) |
Enter |
获取要在触发器对象变为活动状态时应用的 TriggerAction 对象的集合。 此属性不适用于 EventTrigger 类。 (继承自 TriggerBase) |
Exit |
获取要在触发器对象变为非活动状态时应用的 TriggerAction 对象的集合。 此属性不适用于 EventTrigger 类。 (继承自 TriggerBase) |
Is |
获取一个值,该值指示此实例当前是否为密封的(只读)。 (继承自 DependencyObject) |
Routed |
获取或设置将激活该触发器的 RoutedEvent。 |
Source |
获取或设置对象的名称,该对象具有激活此触发器的事件。 仅元素触发器或模板触发器可使用此名称。 |
IAdd |
添加子对象。 |
IAdd |
将节点的文本内容添加到对象。 |
产品 | 版本 |
---|---|
.NET Framework | 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1 |
Windows Desktop | 3.0, 3.1, 5, 6, 7, 8, 9, 10 |