EventTrigger Class
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
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
[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
- Inheritance
- Attributes
- Implements
Examples
This example shows how to use event triggers in a style to animate the MouseEnter and MouseLeave events of a FrameworkElement. In this example, the Style has the TargetType set to Rectangle. 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" />
<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>
Remarks
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. For example, you may want to use an EventTrigger to start a set of animations when the mouse pointer is over a certain user interface (UI) control. 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.
Note that when using an EventTrigger, you need to choose events that do not interfere with the inherent behavior of your control. Controls such as Button or TextBox perform specific actions on user input events such as mouse clicks and keyboard events. 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. Instead, you can use the PreviewMouseDown event or a different event.
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.
Adding a TriggerAction child to an EventTrigger object implicitly adds it to the TriggerActionCollection for the EventTrigger object.
Constructors
EventTrigger() |
Initializes a new instance of the EventTrigger class. |
EventTrigger(RoutedEvent) |
Initializes a new instance of the EventTrigger class with the specified event. |
Properties
Actions |
Gets the collection of actions to apply when the event occurs. |
DependencyObjectType |
Gets the DependencyObjectType that wraps the CLR type of this instance. (Inherited from DependencyObject) |
Dispatcher |
Gets the Dispatcher this DispatcherObject is associated with. (Inherited from DispatcherObject) |
EnterActions |
Gets a collection of TriggerAction objects to apply when the trigger object becomes active. This property does not apply to the EventTrigger class. (Inherited from TriggerBase) |
ExitActions |
Gets a collection of TriggerAction objects to apply when the trigger object becomes inactive. This property does not apply to the EventTrigger class. (Inherited from TriggerBase) |
IsSealed |
Gets a value that indicates whether this instance is currently sealed (read-only). (Inherited from DependencyObject) |
RoutedEvent |
Gets or sets the RoutedEvent that will activate this trigger. |
SourceName |
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. |
Methods
AddChild(Object) |
Adds the specified object to the Actions collection of the current event trigger. |
AddText(String) |
This method is not supported and results in an exception. |
CheckAccess() |
Determines whether the calling thread has access to this DispatcherObject. (Inherited from DispatcherObject) |
ClearValue(DependencyProperty) |
Clears the local value of a property. The property to be cleared is specified by a DependencyProperty identifier. (Inherited from DependencyObject) |
ClearValue(DependencyPropertyKey) |
Clears the local value of a read-only property. The property to be cleared is specified by a DependencyPropertyKey. (Inherited from DependencyObject) |
CoerceValue(DependencyProperty) |
Coerces the value of the specified dependency property. This is accomplished by invoking any CoerceValueCallback function specified in property metadata for the dependency property as it exists on the calling DependencyObject. (Inherited from DependencyObject) |
Equals(Object) |
Determines whether a provided DependencyObject is equivalent to the current DependencyObject. (Inherited from DependencyObject) |
GetHashCode() |
Gets a hash code for this DependencyObject. (Inherited from DependencyObject) |
GetLocalValueEnumerator() |
Creates a specialized enumerator for determining which dependency properties have locally set values on this DependencyObject. (Inherited from DependencyObject) |
GetType() |
Gets the Type of the current instance. (Inherited from Object) |
GetValue(DependencyProperty) |
Returns the current effective value of a dependency property on this instance of a DependencyObject. (Inherited from DependencyObject) |
InvalidateProperty(DependencyProperty) |
Re-evaluates the effective value for the specified dependency property. (Inherited from DependencyObject) |
MemberwiseClone() |
Creates a shallow copy of the current Object. (Inherited from Object) |
OnPropertyChanged(DependencyPropertyChangedEventArgs) |
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. (Inherited from DependencyObject) |
ReadLocalValue(DependencyProperty) |
Returns the local value of a dependency property, if it exists. (Inherited from DependencyObject) |
SetCurrentValue(DependencyProperty, Object) |
Sets the value of a dependency property without changing its value source. (Inherited from DependencyObject) |
SetValue(DependencyProperty, Object) |
Sets the local value of a dependency property, specified by its dependency property identifier. (Inherited from DependencyObject) |
SetValue(DependencyPropertyKey, Object) |
Sets the local value of a read-only dependency property, specified by the DependencyPropertyKey identifier of the dependency property. (Inherited from DependencyObject) |
ShouldSerializeActions() |
Returns whether serialization processes should serialize the effective value of the Actions property on instances of this class. |
ShouldSerializeProperty(DependencyProperty) |
Returns a value that indicates whether serialization processes should serialize the value for the provided dependency property. (Inherited from DependencyObject) |
ToString() |
Returns a string that represents the current object. (Inherited from Object) |
VerifyAccess() |
Enforces that the calling thread has access to this DispatcherObject. (Inherited from DispatcherObject) |
Explicit Interface Implementations
IAddChild.AddChild(Object) |
Adds a child object. |
IAddChild.AddText(String) |
Adds the text content of a node to the object. |