Freigeben über


RoutedEventArgs.Handled Eigenschaft

Definition

Dient zum Abrufen oder Festlegen eines Werts, der den aktuellen Zustand der Ereignisbehandlung für ein routingfähiges Ereignis angibt, während sie die Route durchfährt.

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

Bei Festlegung auf true, wenn das Ereignis als handled gekennzeichnet werden soll; andernfalls false. Wenn dieser Wert gelesen wird, gibt true an, dass entweder ein Klassenhandler oder ein Instanzhandler entlang der Route bereits dieses Ereignis behandelt hat. false.indicates that no such handler has marked the event handled.

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

Wenn Sie das behandelte Ereignis markieren, wird die Sichtbarkeit des routingierten Ereignisses auf Listener entlang der Ereignisroute beschränkt. Das Ereignis fährt weiterhin den Rest der Route, aber nur Handler, die speziell mit HandledEventsTootrue im AddHandler(RoutedEvent, Delegate, Boolean) Methodenaufruf hinzugefügt wurden, werden als Antwort aufgerufen. Standardhandler für Instanzlistener (z. B. die in Extensible Application Markup Language (XAML)) ausgedrückt 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 hinsichtlich der Ereignisbehandlung auf Klassenebene treffen, auf Benutzer Ihres Steuerelements sowie auf alle Benutzer abgeleiteter Steuerelemente und potenziell andere Elemente aus, die entweder in Ihrem Steuerelement enthalten sind oder das Steuerelement enthalten. Weitere Informationen finden Sie unter Markieren von Routingereignissen als behandelt und klassenhandhabung.

Unter sehr seltenen Umständen ist es sinnvoll, Ereignisse zu behandeln, bei denen Handledtruemarkiert ist, und die Ereignisargumente durch Ändern Handled in falseändern. Dies kann in bestimmten Bereichen von Eingabeereignissen von Steuerelementen erforderlich sein, z. B. die Tastenbehandlung von KeyDown im Vergleich zu TextInput, bei denen niedrige und allgemeine Eingabeereignisse für die Behandlung konkurrieren, und jedes versucht, mit einer anderen Routingstrategie zu arbeiten.

Gilt für: