RoutedEventArgs.Handled Eigenschaft
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.
Ruft einen Wert ab, der den aktuellen Zustand der Ereignisbehandlung für ein Routingereignis beim Durchlaufen der Route angibt, oder legt diesen fest.
public:
property bool Handled { bool get(); void set(bool value); };
public bool Handled { [System.Security.SecurityCritical] get; [System.Security.SecurityCritical] set; }
public bool Handled { get; set; }
[<get: System.Security.SecurityCritical>]
[<set: System.Security.SecurityCritical>]
member this.Handled : bool with get, set
member this.Handled : bool with get, set
Public Property Handled As Boolean
Eigenschaftswert
Wenn dieser Wert festgelegt wird, legen Sie ihn auf true
fest, wenn das Ereignis als behandelt markiert werden soll, andernfalls auf false
. Wenn dieser Wert gelesen wird, gibt true
an, dass dieses Ereignis bereits von einem Klassenhandler oder einem Instanzhandler entlang der Route als behandelt markiert wurde. false
gibt an, dass das Ereignis von keinem Handler als behandelt markiert wurde.
Der Standardwert ist false
.
- Attribute
Beispiele
Im folgenden Beispiel wird ein Ereignishandler implementiert, der das behandelte Ereignis kennzeichnet.
protected override void OnPreviewMouseRightButtonDown(System.Windows.Input.MouseButtonEventArgs e)
{
e.Handled = true; //suppress the click event and other leftmousebuttondown responders
MyEditContainer ec = (MyEditContainer)e.Source;
if (ec.EditState)
{ ec.EditState = false; }
else
{ ec.EditState = true; }
base.OnPreviewMouseRightButtonDown(e);
}
Protected Overrides Sub OnPreviewMouseRightButtonDown(ByVal e As System.Windows.Input.MouseButtonEventArgs)
e.Handled = True 'suppress the click event and other leftmousebuttondown responders
Dim ec As MyEditContainer = CType(e.Source, MyEditContainer)
If ec.EditState Then
ec.EditState = False
Else
ec.EditState = True
End If
MyBase.OnPreviewMouseRightButtonDown(e)
End Sub
Hinweise
Das Markieren des behandelten Ereignisses schränkt die Sichtbarkeit des weitergeleiteten Ereignisses auf Listener entlang der Ereignisroute ein. Das -Ereignis bewegt weiterhin den Rest der Route, aber nur Handler, die AddHandler(RoutedEvent, Delegate, Boolean) speziell mit HandledEventsToo
true
im Methodenaufruf hinzugefügt wurden, werden als Antwort aufgerufen. Standardhandler für instance Listener (z. B. die in Extensible Application Markup Language (XAML) ausgedrückten) werden nicht aufgerufen. Die Behandlung von Ereignissen, die als behandelt gekennzeichnet sind, ist kein gängiges Szenario.
Wenn Sie ein Steuerelementautor sind, der Ihre eigenen Ereignisse definiert, wirken sich die Entscheidungen, die Sie in Bezug auf die Ereignisbehandlung auf Klassenebene treffen, sowohl auf Benutzer Ihres Steuerelements als auch auf alle Benutzer abgeleiteter Steuerelemente und potenziell andere Elemente, die entweder in Ihrem Steuerelement enthalten sind oder das Steuerelement enthalten. Weitere Informationen finden Sie unter Markieren von Routingereignissen als behandelt und Klassenbehandlung.
In sehr seltenen Fällen empfiehlt es sich, Ereignisse zu behandeln, bei denen Handled markiert true
ist, und die Ereignisargumente zu ändern, indem Sie in false
ändernHandled. Dies kann in bestimmten Bereichen von Eingabeereignissen von Steuerelementen erforderlich sein, z. B. bei der Schlüsselbehandlung von Eingabeereignissen TextInput auf KeyDown niedriger und hoher Ebene, die für die Verarbeitung konkurrieren, und jeder versucht, mit einer anderen Routingstrategie zu arbeiten.
Gilt für:
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für