EventSetter Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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
Beispiele
Im folgenden Beispiel wird eine einzelne 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
Ereignissetter rufen die angegebenen Ereignishandler als Reaktion auf Routingereignisse auf, die für alle Elemente gelten, die auf die Style verweisen, anstatt Instanzhandler an jedes einzelne Element anzufügen. Nur Style.Setters unterstützen 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 EventSetter-Klasse werden in der Regel über XAML (Extensible Application Markup Language) als Objektelement in einer über XAML definierten Formatvorlage erstellt. Ein EventSetter kann auch aus Code instanziiert werden.
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 HandledEventsTootrue
spezifisch fest.
Ereignissetter können auch aus BasedOn Formatvorlagen stammen. Die Ereignissetterhandler aus der formatierten Formatvorlage, die als BasedOn angegeben wird, werden nach den Handlern in der unmittelbaren Formatvorlage aufgerufen.
Beachten Sie, dass nur Style.SettersEventSetter Objekte unterstützt. Trigger (TriggerBase und abgeleitete Klassen) unterstützen EventSetternicht.
Konstruktoren
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
Event |
Dient zum Abrufen oder Festlegen des bestimmten Routingereignisses, auf das dieses EventSetter antwortet. |
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
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) |