EventSetter Classe

Definizione

Rappresenta un setter evento in uno stile. I setter evento richiamano i gestori eventi specificati in risposta agli eventi.

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

Esempio

Nell'esempio seguente viene stabilito un singolo EventSetter oggetto all'interno di uno stile a livello di pagina.

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

Di seguito sono illustrati i gestori eventi di esempio:

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

Commenti

I setter di eventi richiamano i gestori eventi specificati in risposta agli eventi indirizzati, che si applicano a tutti gli elementi che fanno riferimento Style a anziché richiedere di collegare gestori di istanze a ogni singolo elemento. Supporta EventSetter solo Style.Setters gli oggetti.

È possibile dichiarare solo i setter di eventi per gli eventi indirizzati. È possibile dichiarare i set di eventi per gli eventi indirizzati con una strategia di routing diretta, eventi di bubbling o eventi di tunneling.

Le istanze della classe vengono in genere create tramite Extensible Application Markup Language (XAML), come elemento oggetto all'interno di EventSetter uno stile definito tramite XAML. Potrebbe EventSetter anche essere creata un'istanza dal codice.

I setter di eventi non possono essere usati in uno stile contenuto in un dizionario risorse tema. Questo è dovuto al fatto che un dizionario risorse tema in fase di esecuzione è spesso file XAML binari (BAML) e non ha alcun ambito definito in cui è possibile associare il code-behind che definisce i gestori.

I gestori collegati tramite set di eventi vengono richiamati dopo tutti i gestori di classi per un evento e anche dopo eventuali gestori di istanze. Di conseguenza, se un gestore di classi o un gestore di istanze contrassegna un evento gestito nei relativi argomenti, il gestore dichiarato da un setter evento non viene richiamato, a meno che il setter dell'evento non imposta HandledEventsToo truespecificamente .

I setters di eventi possono anche derivare da BasedOn stili. I gestori di setter dell'evento dallo stile specificato come BasedOn verranno richiamati dopo i gestori sullo stile immediato.

Si noti che supporta EventSetter solo Style.Setters gli oggetti. I trigger (TriggerBase e le classi derivate) non supportano EventSetter.

Costruttori

EventSetter()

Inizializza una nuova istanza della classe EventSetter.

EventSetter(RoutedEvent, Delegate)

Inizializza una nuova istanza della classe EventSetter usando i parametri dell'evento e del gestore specificati.

Proprietà

Event

Ottiene o imposta l'evento indirizzato specifico a cui risponde EventSetter.

HandledEventsToo

Ottiene o imposta un valore che determina se il gestore assegnato al metodo Set deve ancora essere richiamato, anche se l'evento è contrassegnato come gestito nei relativi dati.

Handler

Ottiene o imposta il riferimento a un gestore per un evento indirizzato nel metodo Set.

IsSealed

Ottiene un valore che indica se l'oggetto è in uno stato non modificabile.

(Ereditato da SetterBase)

Metodi

CheckSealed()

Controlla se questo oggetto è di sola lettura e non può essere modificato.

(Ereditato da SetterBase)
Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Si applica a

Vedi anche