EventTrigger クラス


イベントへの応答で一連のアクションを適用するトリガーを表します。Represents a trigger that applies a set of actions in response to an event.

public ref class EventTrigger : System::Windows::TriggerBase, System::Windows::Markup::IAddChild
public class EventTrigger : System.Windows.TriggerBase, System.Windows.Markup.IAddChild
type EventTrigger = class
    inherit TriggerBase
    interface IAddChild
Public Class EventTrigger
Inherits TriggerBase
Implements IAddChild

この例では、スタイルでイベントトリガーを使用して、FrameworkElementMouseEnter および MouseLeave イベントをアニメーション化する方法を示します。This example shows how to use event triggers in a style to animate the MouseEnter and MouseLeave events of a FrameworkElement. この例では、StyleTargetTypeRectangleに設定されています。In this example, the Style has the TargetType set to Rectangle. したがって、MouseEnter を修飾したり、イベント名をクラス名で MouseLeave したりする必要はありません。Therefore, there is no need to qualify the MouseEnter and MouseLeave event names with the class name.

<Style TargetType="Rectangle">
  <Setter Property="Width" Value="50" />
  <Setter Property="Height" Value="50" />
  <Setter Property="Margin" Value="20" />
  <Setter Property="HorizontalAlignment" Value="Left" />
    <EventTrigger RoutedEvent="MouseEnter">
              <DoubleAnimation To="300" Duration="0:0:1.5" 
                AccelerationRatio="0.10" DecelerationRatio="0.25" 
                Storyboard.TargetProperty="(Canvas.Width)" />
    <EventTrigger RoutedEvent="MouseLeave">
              <DoubleAnimation Duration="0:0:1.5" 
                AccelerationRatio="0.10" DecelerationRatio="0.25" 
                Storyboard.TargetProperty="(Canvas.Width)" />


Trigger オブジェクトには、特定のプロパティの状態に基づいて変更またはアクションを適用する SettersEnterActions、および ExitActions のプロパティがありますが、EventTrigger オブジェクトは、指定されたルーティングイベントが発生したときに一連の Actions を開始します。Trigger objects have the Setters, EnterActions, and ExitActions properties that apply changes or actions based on the state of certain properties, while EventTrigger objects start a set of Actions when a specified routed event occurs. たとえば、マウスポインターが特定の ユーザー インターフェイス (UI)user interface (UI) コントロールの上にあるときに、EventTrigger を使用して一連のアニメーションを開始することができます。For example, you may want to use an EventTrigger to start a set of animations when the mouse pointer is over a certain ユーザー インターフェイス (UI)user interface (UI) control. Triggerとは異なり、EventTrigger には状態の終了の概念がないため、イベントを発生させた条件が満たされなくなると、アクションは元に戻りません。Unlike Trigger, EventTrigger has no concept of termination of state, so the action will not be undone once the condition that raised the event is no longer true.

EventTriggerを使用する場合は、コントロールの固有の動作に干渉しないイベントを選択する必要があることに注意してください。Note that when using an EventTrigger, you need to choose events that do not interfere with the inherent behavior of your control. ButtonTextBox などのコントロールは、マウスクリックやキーボードイベントなどのユーザー入力イベントに対して特定のアクションを実行します。Controls such as Button or TextBox perform specific actions on user input events such as mouse clicks and keyboard events. たとえば、ボタンのスタイルを設定していて、MouseDown イベントを EventTriggerRoutedEvent として設定しようとしても、イベントは最初にボタンによって処理されるため、EventTrigger は適用されません。For example, if you are styling a button and try to set the MouseDown event as the RoutedEvent of an EventTrigger, the EventTrigger never gets applied because the event first gets handled by the button. 代わりに、PreviewMouseDown イベントまたは別のイベントを使用できます。Instead, you can use the PreviewMouseDown event or a different event.

データバインディングを使用する場合、TargetUpdated イベントを使用する場合は、イベントを発生させるために、Binding オブジェクトの NotifyOnTargetUpdated 値を true に設定する必要があります。When using data binding, if you are using the TargetUpdated event, you must set the NotifyOnTargetUpdated value of your Binding object to true for the event to be raised.

EventTrigger オブジェクトに TriggerAction 子を追加すると、そのオブジェクトが EventTrigger オブジェクトの TriggerActionCollection に暗黙的に追加されます。Adding a TriggerAction child to an EventTrigger object implicitly adds it to the TriggerActionCollection for the EventTrigger object.



EventTrigger クラスの新しいインスタンスを初期化します。Initializes a new instance of the EventTrigger class.


イベントを指定して、EventTrigger クラスの新しいインスタンスを初期化します。Initializes a new instance of the EventTrigger class with the specified event.



イベントが発生したときに適用するアクションのコレクションを取得します。Gets the collection of actions to apply when the event occurs.


このインスタンスの CLRCLR 型をラップする DependencyObjectType を取得します。Gets the DependencyObjectType that wraps the CLRCLR type of this instance.

(継承元 DependencyObject)

この Dispatcher が関連付けられている DispatcherObject を取得します。Gets the Dispatcher this DispatcherObject is associated with.

(継承元 DispatcherObject)

トリガー オブジェクトがアクティブになったときに適用する TriggerAction オブジェクトのコレクションを取得します。Gets a collection of TriggerAction objects to apply when the trigger object becomes active. このプロパティは EventTrigger クラスには適用されません。This property does not apply to the EventTrigger class.

(継承元 TriggerBase)

トリガー オブジェクトが非アクティブになったときに適用する TriggerAction オブジェクトのコレクションを取得します。Gets a collection of TriggerAction objects to apply when the trigger object becomes inactive. このプロパティは EventTrigger クラスには適用されません。This property does not apply to the EventTrigger class.

(継承元 TriggerBase)

このインスタンスが現在シールされている (読み取り専用である) かどうかを示す値を取得します。Gets a value that indicates whether this instance is currently sealed (read-only).

(継承元 DependencyObject)

このトリガーをアクティブにする RoutedEvent を取得または設定します。Gets or sets the RoutedEvent that will activate this trigger.


このトリガーをアクティブにするイベントでオブジェクトの名前を取得または設定します。Gets or sets the name of the object with the event that activates this trigger. これは、要素トリガーまたはテンプレート トリガーでのみ使用されます。This is only used by element triggers or template triggers.



指定したオブジェクトを現在のイベント トリガーの Actions コレクションに追加します。Adds the specified object to the Actions collection of the current event trigger.


このメソッドはサポートされず、例外が発生します。This method is not supported and results in an exception.


呼び出し元のスレッドがこの DispatcherObject にアクセスできるかどうかを確認します。Determines whether the calling thread has access to this DispatcherObject.

(継承元 DispatcherObject)

プロパティのローカル値をクリアします。Clears the local value of a property. クリアするプロパティは DependencyProperty 識別子で指定されます。The property to be cleared is specified by a DependencyProperty identifier.

(継承元 DependencyObject)

読み取り専用プロパティのローカル値を消去します。Clears the local value of a read-only property. 消去するプロパティは、 DependencyPropertyKeyで指定します。The property to be cleared is specified by a DependencyPropertyKey.

(継承元 DependencyObject)

指定した依存関係プロパティの値を強制します。Coerces the value of the specified dependency property. これは、呼び出し元の DependencyObject の依存関係プロパティのプロパティ メタデータで指定されている CoerceValueCallback 関数を呼び出すことによって実現されます。This is accomplished by invoking any CoerceValueCallback function specified in property metadata for the dependency property as it exists on the calling DependencyObject.

(継承元 DependencyObject)

指定した DependencyObject が現在の DependencyObject と等しいかどうかを判断します。Determines whether a provided DependencyObject is equivalent to the current DependencyObject.

(継承元 DependencyObject)

この DependencyObject のハッシュ コードを取得します。Gets a hash code for this DependencyObject.

(継承元 DependencyObject)

どの依存関係プロパティがこの DependencyObject 上にローカルに設定された値を持つかを確認するための、専用の列挙子を作成します。Creates a specialized enumerator for determining which dependency properties have locally set values on this DependencyObject.

(継承元 DependencyObject)

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

(継承元 Object)

DependencyObject のこのインスタンスにある依存関係プロパティの現在の有効値を返します。Returns the current effective value of a dependency property on this instance of a DependencyObject.

(継承元 DependencyObject)

指定した依存関係プロパティの有効値を再評価します。Re-evaluates the effective value for the specified dependency property.

(継承元 DependencyObject)

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(継承元 Object)

この DependencyObject の依存関係プロパティの有効値が更新されると、そのたびに呼び出されます。Invoked whenever the effective value of any dependency property on this DependencyObject has been updated. 変更された特定の依存関係プロパティは、イベント データで報告されます。The specific dependency property that changed is reported in the event data.

(継承元 DependencyObject)

ローカルの依存関係プロパティの値を返します (存在する場合)。Returns the local value of a dependency property, if it exists.

(継承元 DependencyObject)
SetCurrentValue(DependencyProperty, Object)

依存関係プロパティ値のソースを変更せずにその値を設定します。Sets the value of a dependency property without changing its value source.

(継承元 DependencyObject)
SetValue(DependencyProperty, Object)

依存関係プロパティ識別子を指定して、該当する依存関係プロパティのローカル値を設定します。Sets the local value of a dependency property, specified by its dependency property identifier.

(継承元 DependencyObject)
SetValue(DependencyPropertyKey, Object)

依存関係プロパティの DependencyPropertyKey 識別子で指定した読み取り専用の依存関係プロパティのローカル値を設定します。Sets the local value of a read-only dependency property, specified by the DependencyPropertyKey identifier of the dependency property.

(継承元 DependencyObject)

シリアル化プロセスがこのクラスのインスタンスの Actions プロパティの有効値をシリアル化する必要があるかどうかを示す値を返します。Returns whether serialization processes should serialize the effective value of the Actions property on instances of this class.


シリアル化プロセスが、指定された依存関係プロパティの値をシリアル化する必要があるかどうかを示す値を返します。Returns a value that indicates whether serialization processes should serialize the value for the provided dependency property.

(継承元 DependencyObject)

現在のオブジェクトを表す文字列を返します。Returns a string that represents the current object.

(継承元 Object)

呼び出し元のスレッドがこの DispatcherObject にアクセスできるように強制します。Enforces that the calling thread has access to this DispatcherObject.

(継承元 DispatcherObject)



子オブジェクトを追加します。Adds a child object.


ノードのテキスト コンテンツをオブジェクトに追加します。Adds the text content of a node to the object.