RoutedEventArgs.Handled Właściwość

Definicja

Pobiera lub ustawia wartość wskazującą obecny stan obsługi zdarzeń dla zdarzenia kierowanego podczas podróży trasy.

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

Wartość właściwości

Jeśli ustawienie jest ustawione na true wartość , jeśli zdarzenie ma być oznaczone jako obsługiwane; w przeciwnym razie false. Jeśli odczyta tę wartość, wskazuje, true że program obsługi klas lub procedura obsługi wystąpień wzdłuż trasy została już oznaczona jako obsługiwane to zdarzenie. false.wskazuje, że żadna taka procedura obsługi nie oznaczyła obsługiwanego zdarzenia.

Wartość domyślna to false.

Atrybuty

Przykłady

Poniższy przykład implementuje procedurę obsługi zdarzeń, która oznacza obsłużone zdarzenie.

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

Uwagi

Oznaczanie obsługiwanego zdarzenia spowoduje ograniczenie widoczności zdarzenia kierowanego do odbiorników wzdłuż trasy zdarzenia. Zdarzenie nadal podróżuje w pozostałej części trasy, ale w odpowiedzi będą wywoływane tylko programy obsługi dodane HandledEventsTootrue specjalnie z AddHandler(RoutedEvent, Delegate, Boolean) wywołaniem metody. Domyślne programy obsługi odbiorników wystąpień (takie jak te wyrażone w języku Extensible Application Markup Language (XAML) nie będą wywoływane. Obsługa zdarzeń oznaczonych jako obsługiwane nie jest typowym scenariuszem.

Jeśli jesteś autorem kontrolek definiującym własne zdarzenia, decyzje podejmowane w odniesieniu do obsługi zdarzeń na poziomie klasy będą miały wpływ na użytkowników kontrolki, a także wszystkich użytkowników kontrolek pochodnych oraz potencjalnie inne elementy, które są zawarte przez kontrolkę lub zawierają kontrolkę. Aby uzyskać więcej informacji, zobacz Oznaczanie zdarzeń trasowanych jako obsługiwane i Obsługa klas.

W bardzo rzadkich okolicznościach należy obsługiwać zdarzenia oznaczone Handled jako true, a następnie modyfikować argumenty zdarzeń, zmieniając wartość Handled na false. Może to być konieczne w niektórych obszarach zdarzeń wejściowych kontrolek, takich jak obsługa kluczy KeyDown w porównaniu TextInput z miejscem, w którym zdarzenia wejściowe niskiego poziomu i wysokiego poziomu konkurują z obsługą, a każda z nich próbuje pracować z inną strategią routingu.

Dotyczy