EventSetter Klasse

Definition

Stellt einen Ereignissetter in einer Formatvorlage dar. Ereignissatzer rufen die angegebenen Ereignishandler als Reaktion auf Ereignisse auf.

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

Beispiele

Im folgenden Beispiel wird ein Einzelner EventSetter innerhalb einer Formatvorlage auf Seitenebene eingerichtet.

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

Im Folgenden werden die Beispielereignishandler gezeigt:

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

Hinweise

Ereignissatzer rufen die angegebenen Ereignishandler als Reaktion auf Routingereignisse auf, die für alle Elemente gelten, die auf die Style Instanzhandler verweisen, anstatt Instanzhandler an jedes einzelne Element anzufügen. Unterstützt Style.Setters nur EventSetter Objekte.

Sie können Ereignissetter nur für Ereignisse deklarieren, die Routingereignisse sind. Sie können Ereignissetter für Routingereignisse mit einer Direct Routing-Strategie, Bubbling-Ereignissen oder Tunnelereignissen deklarieren.

Instanzen der Klasse werden in der EventSetter Regel über XAML (Extensible Application Markup Language) als Objektelement innerhalb einer über XAML definierten Formatvorlage erstellt. Möglicherweise EventSetter wird auch ein Code instanziiert.

Ereignissetter können nicht in einer Formatvorlage verwendet werden, die in einem Designressourcenwörterbuch enthalten ist. Dies liegt daran, dass zur Laufzeit ein Designressourcenverzeichnis häufig lose BINÄRE XAML-Dateien (BAML) ist und keinen Bereich definiert ist, in dem der zugehörige CodeBehind definiert werden kann, der die Handler definiert.

Handler, die über Ereignissatzer angefügt sind, werden nach allen Klassenhandlern für ein Ereignis und auch nach Instanzhandlern aufgerufen. Wenn daher ein Klassenhandler oder Instanzhandler ein Ereignis markiert, das in seinen Argumenten behandelt wird, wird der von einem Ereignissatzer deklarierte Handler nicht aufgerufen, es sei denn, der Ereignissatzer legt spezifisch fest HandledEventsTootrue.

Ereignissetter können auch aus BasedOn Stilen stammen. Die Ereignissetterhandler aus der angegebenen Formatvorlage, wie BasedOn sie aufgerufen werden, nachdem die Handler in der unmittelbaren Formatvorlage ausgeführt wurden.

Beachten Sie, dass nur Style.Setters Objekte unterstützt EventSetter werden. Trigger (TriggerBase und abgeleitete Klassen) unterstützen EventSetternicht .

Konstruktoren

Name Beschreibung
EventSetter()

Initialisiert eine neue Instanz der EventSetter-Klasse.

EventSetter(RoutedEvent, Delegate)

Initialisiert eine neue Instanz der EventSetter Klasse mithilfe der bereitgestellten Ereignis- und Handlerparameter.

Eigenschaften

Name Beschreibung
Event

Dient zum Abrufen oder Festlegen des bestimmten Routingereignisses, auf das dies EventSetter reagiert.

HandledEventsToo

Dient zum Abrufen oder Festlegen eines Werts, der bestimmt, ob der dem Setter zugewiesene Handler weiterhin aufgerufen werden soll, auch wenn das Ereignis in den Ereignisdaten behandelt wird.

Handler

Dient zum Abrufen oder Festlegen des Verweises auf einen Handler für ein routingfähiges Ereignis im Setter.

IsSealed

Ruft einen Wert ab, der angibt, ob sich dieses Objekt in einem unveränderlichen Zustand befindet.

(Geerbt von SetterBase)

Methoden

Name Beschreibung
CheckSealed()

Überprüft, ob dieses Objekt schreibgeschützt ist und nicht geändert werden kann.

(Geerbt von SetterBase)
Equals(Object)

Bestimmt, ob das angegebene Objekt dem aktuellen Objekt entspricht.

(Geerbt von Object)
GetHashCode()

Dient als Standardhashfunktion.

(Geerbt von Object)
GetType()

Ruft die Type der aktuellen Instanz ab.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie der aktuellen Object.

(Geerbt von Object)
ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)

Gilt für:

Weitere Informationen