RoutedEventArgs.Handled Właściwość

Definicja

Pobiera lub ustawia wartość wskazującą obecny stan obsługi zdarzeń dla zdarzenia kierowanego w trakcie podróży trasy.Gets or sets a value that indicates the present state of the event handling for a routed event as it travels the route.

public:
 property bool Handled { bool get(); void set(bool value); };
public bool Handled { get; set; }
[get: System.Security.SecurityCritical]
[set: System.Security.SecurityCritical]
public bool Handled { 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, jeśli zdarzenie ma być oznaczone jako obsługiwane; w przeciwnym razie false.If setting, set to true if the event is to be marked handled; otherwise false. W przypadku odczytywania tej wartości true wskazuje, że obsługa klasy lub część obsługi wystąpienia w trasie, została już oznaczona przez to zdarzenie.If reading this value, true indicates that either a class handler, or some instance handler along the route, has already marked this event handled. false. wskazuje, że żaden program obsługi nie oznaczył zdarzenia.false.indicates that no such handler has marked the event handled.

Wartością domyślną jest false.The default value is false.

Atrybuty

Przykłady

Poniższy przykład implementuje procedurę obsługi zdarzeń, która oznacza, że zdarzenie jest obsługiwane.The following example implements an event handler that marks the event handled.

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

Oznaczenie obsługiwanego zdarzenia spowoduje ograniczenie widoczności zdarzenia kierowanego do detektorów wzdłuż trasy zdarzenia.Marking the event handled will limit the visibility of the routed event to listeners along the event route. To zdarzenie nadal podróżuje w pozostałej części trasy, ale tylko programy obsługi, które zostały dodane do HandledEventsToo true w wywołaniu metody AddHandler(RoutedEvent, Delegate, Boolean) będą wywoływane w odpowiedzi.The event does still travel the remainder of the route, but only handlers specifically added with HandledEventsToo true in the AddHandler(RoutedEvent, Delegate, Boolean) method call will be invoked in response. Domyślne programy obsługi odbiorników wystąpień (takie jak te wyrażone w Extensible Application Markup Language (XAML)Extensible Application Markup Language (XAML)) nie będą wywoływane.Default handlers on instance listeners (such as those expressed in Extensible Application Markup Language (XAML)Extensible Application Markup Language (XAML)) will not be invoked. Obsługa zdarzeń oznaczonych jako obsługiwane nie jest typowym scenariuszem.Handling events that are marked handled is not a common scenario.

Jeśli jesteś autorem kontrolki, który definiuje własne zdarzenia, podejmowane decyzje dotyczące obsługi zdarzeń na poziomie klasy będą mieć wpływ na użytkowników kontrolki, a także wszystkich użytkowników formantów pochodnych oraz inne elementy, które są zawarte w formancie lub, który zawiera kontrolkę.If you are a control author defining your own events, the decisions you make regarding event handling at the class level will impact users of your control as well as any users of derived controls, and potentially other elements that are either contained by your control or that contain your control. Aby uzyskać więcej informacji, zobacz oznaczanie zdarzeń kierowanych jako obsłużone i obsługa klas.For more information, see Marking Routed Events as Handled, and Class Handling.

W bardzo rzadkich przypadkach jest odpowiednie do obsługi zdarzeń, w których Handled jest oznaczona true, i zmodyfikowania argumentów zdarzeń przez zmianę Handled na false.In very rare circumstances it is appropriate to handle events where Handled is marked true, and modify the event arguments by changing Handled to false. Może to być konieczne w niektórych obszarach wejściowych zdarzeń kontroli, takich jak obsługa klucza KeyDown i TextInput, w których zdarzenia wejściowe niskiego poziomu i wysokiego poziomu konkurują się z obsługą, a każda z nich próbuje współpracować z inną strategią routingu.This can be necessary in certain areas of input events of controls, such as key handling of KeyDown versus TextInput where low level and high level input events compete for the handling, and each is attempting to work with a different routing strategy.

Dotyczy