Udostępnij za pośrednictwem


RoutedEventArgs.Handled Właściwość

Definicja

Pobiera lub ustawia wartość wskazującą obecny stan obsługi zdarzeń dla zdarzenia kierowanego podczas kierowania 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

W przypadku ustawienia ustaw wartość true, jeśli zdarzenie ma być oznaczone jako obsługiwane; w przeciwnym razie false. W przypadku odczytu tej wartości true wskazuje, że program obsługi klas lub program obsługi wystąpień wzdłuż trasy już oznaczył to zdarzenie. false.wskazuje, że taki program obsługi nie oznaczył obsługiwanego zdarzenia.

Wartość domyślna to false.

Atrybuty

Przykłady

W poniższym przykładzie zaimplementowano 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łużonego zdarzenia spowoduje ograniczenie widoczności zdarzenia kierowanego do odbiorników wzdłuż trasy zdarzeń. Zdarzenie nadal podróżuje resztą trasy, ale w odpowiedzi będą wywoływane tylko programy obsługi dodane specjalnie z HandledEventsTootrue w wywołaniu metody AddHandler(RoutedEvent, Delegate, Boolean). Domyślne programy obsługi w odbiornikach wystąpień (takie jak te wyrażone w języku XAML ) nie będą wywoływane. Obsługa zdarzeń oznaczonych jako obsługiwane nie jest typowym scenariuszem.

Jeśli jesteś autorem kontrolki 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 i potencjalnie innych elementów, które są zawarte przez kontrolkę lub które 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, w których Handled jest oznaczony true, i zmodyfikować argumenty zdarzeń, zmieniając Handled na false. Może to być konieczne w niektórych obszarach zdarzeń wejściowych kontrolek, takich jak kluczowa obsługa KeyDown w porównaniu z TextInput, w których zdarzenia wejściowe niskiego poziomu i wysokiego poziomu konkurują o obsługę, a każda z nich próbuje pracować z inną strategią routingu.

Dotyczy