Comparteix a través de


EventSetter Clase

Definición

Representa un establecedor de eventos en un estilo. Los establecedores de eventos invocan los controladores de eventos especificados en respuesta a los eventos.

public ref class EventSetter : System::Windows::SetterBase
public class EventSetter : System.Windows.SetterBase
type EventSetter = class
    inherit SetterBase
Public Class EventSetter
Inherits SetterBase
Herencia
EventSetter

Ejemplos

En el ejemplo siguiente se establece un único EventSetter dentro de un estilo de nivel de página.

<StackPanel
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  x:Class="SDKSample.EventOvw2"
  Name="dpanel2"
  Initialized="PrimeHandledToo"
>
  <StackPanel.Resources>
    <Style TargetType="{x:Type Button}">
      <EventSetter Event="Click" Handler="b1SetColor"/>
    </Style>
  </StackPanel.Resources>
  <Button>Click me</Button>
  <Button Name="ThisButton" Click="HandleThis">
    Raise event, handle it, use handled=true handler to get it anyway.
  </Button>
</StackPanel>

A continuación se muestran los controladores de eventos de ejemplo:

void b1SetColor(object sender, RoutedEventArgs e)
{
  Button b = e.Source as Button;
  b.Background = new SolidColorBrush(Colors.Azure);
}

void HandleThis(object sender, RoutedEventArgs e)
{
  e.Handled=true;
}
Private Sub b1SetColor(ByVal sender As Object, ByVal e As RoutedEventArgs)
  Dim b As Button = TryCast(e.Source, Button)
  b.Background = New SolidColorBrush(Colors.Azure)
End Sub

Private Sub HandleThis(ByVal sender As Object, ByVal e As RoutedEventArgs)
  e.Handled=True
End Sub

Comentarios

Los establecedores de eventos invocan los controladores de eventos especificados en respuesta a eventos enrutados, que se aplican a todos los elementos que hacen referencia al Style en lugar de requerir que asocie controladores de instancia a cada elemento individual. Solo Style.Setters admiten objetos EventSetter.

Solo puede declarar establecedores de eventos para eventos que se enrutan. Puede declarar establecedores de eventos para eventos enrutados con una estrategia de enrutamiento directo, eventos de propagación o eventos de tunelización.

Las instancias de la clase EventSetter normalmente se crean a través del lenguaje de marcado de aplicaciones extensibles (XAML), como un elemento de objeto dentro de un estilo definido a través de XAML. También se puede crear una instancia de un EventSetter desde el código.

Los establecedores de eventos no se pueden usar en un estilo contenido en un diccionario de recursos de tema. Esto se debe a que un diccionario de recursos de tema en tiempo de ejecución suele ser archivos XAML binarios sueltos (BAML) y no tiene ningún ámbito definido en el que pueda existir código subyacente que defina los controladores.

Los controladores asociados a través de establecedores de eventos se invocan después de cualquier controlador de clase para un evento y también después de cualquier controlador de instancia. Como resultado, si un controlador de clases o un controlador de instancia marca un evento controlado en sus argumentos, el controlador declarado por un establecedor de eventos no se invoca, a menos que el establecedor de eventos establezca específicamente HandledEventsTootrue.

Los establecedores de eventos también pueden provenir de BasedOn estilos. Los controladores de establecedor de eventos del estilo especificado como BasedOn se invocarán después de los controladores en el estilo inmediato.

Tenga en cuenta que solo Style.Setters admite objetos EventSetter. Los desencadenadores (TriggerBase y clases derivadas) no admiten EventSetter.

Constructores

EventSetter()

Inicializa una nueva instancia de la clase EventSetter.

EventSetter(RoutedEvent, Delegate)

Inicializa una nueva instancia de la clase EventSetter mediante los parámetros de evento y controlador proporcionados.

Propiedades

Event

Obtiene o establece el evento enrutado determinado al que responde este EventSetter.

HandledEventsToo

Obtiene o establece un valor que determina si el controlador asignado al establecedor todavía debe invocarse, incluso si el evento está marcado como controlado en sus datos de eventos.

Handler

Obtiene o establece la referencia a un controlador para un evento enrutado en el establecedor.

IsSealed

Obtiene un valor que indica si este objeto está en un estado inmutable.

(Heredado de SetterBase)

Métodos

CheckSealed()

Comprueba si este objeto es de solo lectura y no se puede cambiar.

(Heredado de SetterBase)
Equals(Object)

Determina si el objeto especificado es igual al objeto actual.

(Heredado de Object)
GetHashCode()

Actúa como función hash predeterminada.

(Heredado de Object)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
MemberwiseClone()

Crea una copia superficial del Objectactual.

(Heredado de Object)
ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

Se aplica a

Consulte también