EventSetter Classe

Definizione

Rappresenta un setter evento in uno stile.Represents an event setter in a style. I setter evento richiamano i gestori eventi specificati in risposta agli eventi.Event setters invoke the specified event handlers in response to events.

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

Esempi

Nell'esempio seguente viene stabilito un singolo EventSetter all'interno di uno stile a livello di pagina.The following example establishes a single EventSetter within a page-level style.

<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 vengono illustrati i gestori eventi di esempio:The following shows the example event handlers:

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 all'Style anziché richiedere di allineare gestori di istanze a ogni singolo elemento.Event setters invoke the specified event handlers in response to routed events, which apply to all elements that reference the Style rather than requiring you to attach instance handlers to each individual element. Solo Style.Setters supportano EventSetter oggetti.Only Style.Setters support EventSetter objects.

È possibile dichiarare solo i setter di eventi per gli eventi indirizzati.You can only declare event setters for events that are routed events. È possibile dichiarare setter di eventi per gli eventi indirizzati con una strategia di routing diretto, eventi di bubbling o eventi di tunneling.You can declare event setters for routed events with a direct routing strategy, bubbling events, or tunneling events.

Le istanze della classe EventSetter vengono in genere create tramite Extensible Application Markup Language (XAML)Extensible Application Markup Language (XAML), come elemento oggetto all'interno di uno stile definito tramite XAMLXAML.Instances of the EventSetter class are usually created through Extensible Application Markup Language (XAML)Extensible Application Markup Language (XAML), as an object element within a style defined through XAMLXAML. È anche possibile creare un'istanza di un EventSetter dal codice.An EventSetter might also be instantiated from code.

Impossibile utilizzare Setter di eventi in uno stile contenuto in un dizionario risorse del tema.Event setters cannot be used in a style that is contained in a theme resource dictionary. Questo è dovuto al fatto che un dizionario risorse del tema in fase di esecuzione è spesso sciolto XAML binario (BAML)binary XAML (BAML) file e non dispone di alcun ambito definito in cui possono esistere i code-behind associati che definiscono i gestori.This is because a theme resource dictionary at run time is often loose XAML binario (BAML)binary XAML (BAML) files, and does not have any scope defined where accompanying code-behind that defines the handlers can exist.

I gestori collegati tramite setter di eventi vengono richiamati dopo qualsiasi gestore di classe per un evento e anche dopo qualsiasi gestore di istanza.Handlers attached through event setters are invoked after any class handlers for an event, and also after any instance handlers. Di conseguenza, se un gestore di classi o un gestore di istanza contrassegna un evento gestito nei relativi argomenti, il gestore dichiarato da un setter di eventi non viene richiamato, a meno che il setter dell'evento non imposti in modo specifico HandledEventsToo true.As a result, if a class handler or instance handler marks an event handled in its arguments, then the handler declared by an event setter is not invoked, unless the event setter specifically sets HandledEventsToo true.

I setter di eventi possono provenire anche da BasedOn stili.Event setters may also come from BasedOn styles. I gestori del set di eventi dallo stile specificato come BasedOn verranno richiamati dopo i gestori nello stile immediato.The event setter handlers from the style specified as BasedOn will be invoked after the handlers on the immediate style.

Si noti che solo Style.Setters supporta EventSetter oggetti.Note that only Style.Setters supports EventSetter objects. I trigger (TriggerBase e le classi derivate) non supportano EventSetter.Triggers (TriggerBase and derived classes) do not support EventSetter.

Costruttori

EventSetter()

Inizializza una nuova istanza della classe EventSetter.Initializes a new instance of the EventSetter class.

EventSetter(RoutedEvent, Delegate)

Inizializza una nuova istanza della classe EventSetter usando i parametri dell'evento e del gestore specificati.Initializes a new instance of the EventSetter class, using the provided event and handler parameters.

Proprietà

Event

Ottiene o imposta l'evento indirizzato specifico a cui risponde EventSetter.Gets or sets the particular routed event that this EventSetter responds to.

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.Gets or sets a value that determines whether the handler assigned to the setter should still be invoked, even if the event is marked handled in its event data.

Handler

Ottiene o imposta il riferimento a un gestore per un evento indirizzato nel metodo Set.Gets or sets the reference to a handler for a routed event in the setter.

IsSealed

Ottiene un valore che indica se questo oggetto è in uno stato immutabile.Gets a value that indicates whether this object is in an immutable state.

(Ereditato da SetterBase)

Metodi

CheckSealed()

Controlla se questo oggetto è di sola lettura e non può essere modificato.Checks whether this object is read-only and cannot be changed.

(Ereditato da SetterBase)
Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.Determines whether the specified object is equal to the current object.

(Ereditato da Object)
GetHashCode()

Funge da funzione hash predefinita.Serves as the default hash function.

(Ereditato da Object)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.Gets the Type of the current instance.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.Creates a shallow copy of the current Object.

(Ereditato da Object)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.Returns a string that represents the current object.

(Ereditato da Object)

Si applica a

Vedi anche