EventTrigger 类

定义

表示一个触发器,该触发器应用一组操作以响应一个事件。

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
继承
属性
实现

示例

此示例演示如何使用样式中的事件触发器对 的 FrameworkElementMouseLeave 事件进行动画处理MouseEnter。 在此示例中, StyleTargetType 设置为 Rectangle。 因此,无需使用类名限定 MouseEnterMouseLeave 事件名称。

<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 对象在发生指定的路由事件时启动一组 ActionsExitActionsEnterActionsSetters 例如,当鼠标指针位于某个用户界面 (UI) 控件上时,可能需要使用 EventTrigger 来启动一组动画。 与 不同 TriggerEventTrigger 没有终止状态的概念,因此一旦引发事件的条件不再成立,操作将不会撤消。

请注意,使用 EventTrigger时,需要选择不干扰控件固有行为的事件。 控件(如 ButtonTextBox )对用户输入事件(如鼠标单击和键盘事件)执行特定操作。 例如,如果要设置按钮的样式,并尝试将 MouseDown 事件设置为 RoutedEventEventTriggerEventTrigger 则 永远不会应用 ,因为该事件首先由按钮处理。 可以改用 事件 PreviewMouseDown 或其他事件。

使用数据绑定时,如果使用 TargetUpdated 事件,则必须将 NotifyOnTargetUpdated 对象的值 Binding 设置为 true ,才能引发事件。

TriggerAction向 对象添加子EventTrigger级会将其隐式添加到 对象的 EventTriggerTriggerActionCollection

构造函数

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

获取或设置对象的名称,该对象具有激活此触发器的事件。 仅元素触发器或模板触发器可使用此名称。

方法

AddChild(Object)

将指定的对象添加到当前事件触发器的 Actions 集合中。

AddText(String)

此方法不受支持并导致异常。

CheckAccess()

确定调用线程是否可以访问此 DispatcherObject

(继承自 DispatcherObject)
ClearValue(DependencyProperty)

清除属性的本地值。 要清除的属性由 DependencyProperty 标识符指定。

(继承自 DependencyObject)
ClearValue(DependencyPropertyKey)

清除只读属性的本地值。 要清除的属性由 DependencyPropertyKey 指定。

(继承自 DependencyObject)
CoerceValue(DependencyProperty)

对指定依赖属性的值进行强制。 通过对调用方 DependencyObject 上存在的依赖属性的属性元数据中所指定的任何 CoerceValueCallback 函数进行调用来完成此操作。

(继承自 DependencyObject)
Equals(Object)

确定提供的 DependencyObject 是否等效于当前 DependencyObject

(继承自 DependencyObject)
GetHashCode()

获取此 DependencyObject 的哈希代码。

(继承自 DependencyObject)
GetLocalValueEnumerator()

创建一个专用的枚举数,用于确定哪些依赖项属性在此 DependencyObject 上具有以本地方式设置的值。

(继承自 DependencyObject)
GetType()

获取当前实例的 Type

(继承自 Object)
GetValue(DependencyProperty)

DependencyObject 的此实例返回依赖属性的当前有效值。

(继承自 DependencyObject)
InvalidateProperty(DependencyProperty)

重新评估指定依赖属性的有效值。

(继承自 DependencyObject)
MemberwiseClone()

创建当前 Object 的浅表副本。

(继承自 Object)
OnPropertyChanged(DependencyPropertyChangedEventArgs)

每当更新此 DependencyObject 的任何依赖属性的有效值时调用。 更改的特定依赖属性将在事件数据中报告。

(继承自 DependencyObject)
ReadLocalValue(DependencyProperty)

如果存在,则返回依赖属性的本地值。

(继承自 DependencyObject)
SetCurrentValue(DependencyProperty, Object)

设置依赖属性的值而不更改其值源。

(继承自 DependencyObject)
SetValue(DependencyProperty, Object)

设置依赖属性的本地值,该值由其依赖属性标识符指定。

(继承自 DependencyObject)
SetValue(DependencyPropertyKey, Object)

设置一个只读依赖属性的本地值,该值由依赖属性的 DependencyPropertyKey 标识符指定。

(继承自 DependencyObject)
ShouldSerializeActions()

返回序列化进程是否应序列化此类的实例上 Actions 属性的有效值。

ShouldSerializeProperty(DependencyProperty)

返回一个值,该值指示序列化进程是否应序列化所提供的依赖属性的值。

(继承自 DependencyObject)
ToString()

返回表示当前对象的字符串。

(继承自 Object)
VerifyAccess()

强制调用线程具有此 DispatcherObject 的访问权限。

(继承自 DispatcherObject)

显式接口实现

IAddChild.AddChild(Object)

添加子对象。

IAddChild.AddText(String)

将节点的文本内容添加到对象。

适用于

另请参阅