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 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 a los controladores de eventos especificados en respuesta a eventos enrutados, que se aplican a todos los elementos que hacen referencia a , Style en lugar de requerir que adjunte controladores de instancia a cada elemento individual. Solo Style.Setters admite EventSetter objetos.

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 EventSetter clase normalmente se crean a través del lenguaje xaml de marcado de aplicaciones extensibles, como un elemento de objeto dentro de un estilo definido a través de XAML. EventSetter También se puede crear una instancia de a partir del 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 clase 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 HandledEventsToo trueespecíficamente .

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 EventSetter objetos . Los desencadenadores (TriggerBase y las 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, utilizando 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 se debe invocar el controlador asignado al establecedor, incluso si el evento está marcado como controlado en sus datos de evento.

Handler

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

IsSealed

Obtiene un valor que indica si este objeto se encuentra en un estado inmutable.

(Heredado de SetterBase)

Métodos

CheckSealed()

Comprueba si este objeto es de sólo lectura y no se puede cambiar.

(Heredado de SetterBase)
Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.

(Heredado de Object)
GetHashCode()

Sirve como la función hash predeterminada.

(Heredado de Object)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

Se aplica a

Consulte también