EventSetter Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Rappresenta un setter di eventi in uno stile. I setter di eventi 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à
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 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 solo Style.SettersEventSetter gli oggetti .
È possibile dichiarare solo i setter eventi per gli eventi indirizzati. È possibile dichiarare setter eventi per gli eventi indirizzati con una strategia di routing diretto, eventi di bubbling o eventi di tunneling.
Le istanze della EventSetter classe vengono in genere create tramite Extensible Application Markup Language (XAML), come elemento oggetto all'interno di uno stile definito tramite XAML. Potrebbe EventSetter anche essere creata un'istanza dal codice.
I setter di eventi non possono essere utilizzati in uno stile contenuto in un dizionario risorse del tema. Ciò è dovuto al fatto che un dizionario risorse del tema in fase di esecuzione è spesso file XAML binari (BAML) separati e non ha alcun ambito definito in cui il code-behind che definisce i gestori può esistere.
I gestori collegati tramite setter di eventi vengono richiamati dopo qualsiasi gestore di classe per un evento e anche dopo qualsiasi gestore 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 di evento non viene richiamato, a meno che il setter dell'evento non imposti HandledEventsTootruein modo specifico .
I setter di eventi possono provenire anche da BasedOn stili. I gestori setter dell'evento dallo stile specificato come BasedOn verranno richiamati dopo i gestori sullo stile immediato.
Si noti che supporta Style.Setters solo EventSetter gli oggetti . I trigger (TriggerBase e le classi derivate) non supportano EventSetter.
Costruttori
| Nome | Descrizione |
|---|---|
| EventSetter() |
Inizializza una nuova istanza della classe EventSetter. |
| EventSetter(RoutedEvent, Delegate) |
Inizializza una nuova istanza della EventSetter classe utilizzando i parametri dell'evento e del gestore forniti. |
Proprietà
| Nome | Descrizione |
|---|---|
| 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 setter deve comunque essere richiamato, anche se l'evento viene contrassegnato come gestito nei dati dell'evento. |
| Handler |
Ottiene o imposta il riferimento a un gestore per un evento indirizzato nel setter. |
| IsSealed |
Ottiene un valore che indica se l'oggetto è in uno stato non modificabile. (Ereditato da SetterBase) |
Metodi
| Nome | Descrizione |
|---|---|
| CheckSealed() |
Controlla se l'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 il Type dell'istanza corrente. (Ereditato da Object) |
| MemberwiseClone() |
Crea una copia superficiale del Objectcorrente. (Ereditato da Object) |
| ToString() |
Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) |