Esta documentación está archivada y no tiene mantenimiento.

EventTrigger (Clase)

Actualización: noviembre 2007

Representa un desencadenador que aplica un conjunto de acciones en respuesta a un evento.

Espacio de nombres:  System.Windows
Ensamblado:  PresentationFramework (en PresentationFramework.dll)
XMLNS para XAML: http://schemas.microsoft.com/winfx/xaml/presentation

[ContentPropertyAttribute("Actions")]
public class EventTrigger : TriggerBase, 
	IAddChild
/** @attribute ContentPropertyAttribute("Actions") */
public class EventTrigger extends TriggerBase implements IAddChild
public class EventTrigger extends TriggerBase implements IAddChild
<EventTrigger>
  Actions
</EventTrigger>

Los objetos Trigger tienen las propiedades Setters, EnterActions y ExitActions, que aplican cambios o acciones según el estado de ciertas propiedades, mientras los objetos EventTrigger inician un conjunto de propiedades Actions cuando se produce un evento enrutado especificado. Por ejemplo, quizá desee usar EventTrigger para iniciar un conjunto de animaciones cuando el puntero del mouse esté sobre cierto control de la interfaz de usuario (UI). A diferencia de Trigger, EventTrigger no tiene ningún concepto de finalización de estado, por lo que no se deshará la acción una vez que la condición que provocó el evento deje de ser verdadera.

Tenga en cuenta que al usar EventTrigger, debe elegir eventos que no interfieran con el comportamiento inherente del control. Los controles como Button o TextBox realizan acciones concretas en los eventos de usuario como clics del mouse y eventos de teclado. Por ejemplo, si está creando un botón e intenta establecer el evento MouseDown como la propiedad RoutedEvent de EventTrigger, EventTrigger nunca se aplica porque el botón administra primero el evento. En su lugar, puede usar el evento PreviewMouseDown o un evento diferente.

Al usar el enlace de datos, si utiliza el evento TargetUpdated, debe establecer el valor de la propiedad NotifyOnTargetUpdated del objeto Binding en true para que el evento se provoque.

Si se agrega un elemento secundario TriggerAction a un objeto EventTrigger, se agrega implícitamente a la clase TriggerActionCollection del objeto EventTrigger.

En este ejemplo se muestra cómo usar los desencadenadores de eventos en un estilo para animar los eventos MouseEnter y MouseLeave de FrameworkElement. En el ejemplo, Style tiene la propiedad TargetType establecida en Rectangle. Por consiguiente, no hay ninguna necesidad de certificar los nombres de evento MouseEnter y MouseLeave con el nombre de clase.

<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>


Para obtener el ejemplo completo, vea Ejemplo Event Triggers.

Más código

Cómo: Utilizar desencadenadores de eventos para controlar un guión gráfico después de su inicioEn este ejemplo se muestra cómo controlar un objeto Storyboard después de iniciarse. Para iniciar un objeto Storyboard mediante XAML, utilice BeginStoryboard, que distribuye las animaciones a los objetos y las propiedades que se animan y, a continuación, inicia el guión gráfico. Si asigna un nombre a BeginStoryboard especificando su propiedad Name, lo convierte en un guión gráfico controlable. A continuación, podrá controlar interactivamente el guión gráfico una vez iniciado.

Todos los miembros static (Shared en Visual Basic) públicos de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.

Windows Vista

.NET Framework y .NET Compact Framework no admiten todas las versiones de cada plataforma. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

.NET Framework

Compatible con: 3.5, 3.0
Mostrar: