RoutedEventArgs.Handled Właściwość
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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 HandledEventsToo
true
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.