RoutedEventArgs.Handled Vlastnost

Definice

Získá nebo nastaví hodnotu, která označuje aktuální stav zpracování událostí pro směrovanou událost při cestě trasu.

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

Hodnota vlastnosti

Pokud je nastavení nastaveno na true, pokud má být událost označena jako zpracována; jinak false. Při čtení této hodnoty true označuje, že obslužná rutina třídy nebo některá obslužná rutina instance na trase již tuto událost označila. false.indikuje, že žádná taková obslužná rutina neznačila obslužnou událost.

Výchozí hodnota je false.

Atributy

Příklady

Následující příklad implementuje obslužnou rutinu události, která označuje obslužnou rutinu události.

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

Poznámky

Označení obslužné události omezí viditelnost směrované události na naslouchací procesy podél trasy události. Událost stále cestuje zbytek trasy, ale pouze obslužné rutiny přidané s HandledEventsTootrue ve volání metody AddHandler(RoutedEvent, Delegate, Boolean) budou vyvolány v odpovědi. Výchozí obslužné rutiny u naslouchacích procesů instancí (například těch vyjádřených v XAML (Extensible Application Markup Language) se nevyvolají. Zpracování událostí označených jako zpracovaných není běžným scénářem.

Pokud jste autor ovládacího prvku definující vlastní události, rozhodnutí týkající se zpracování událostí na úrovni třídy ovlivní uživatele vašeho ovládacího prvku i všechny uživatele odvozených ovládacích prvků a potenciálně i další prvky, které jsou buď obsaženy vaším ovládacím prvku, nebo které obsahují váš ovládací prvek. Další informace naleznete v tématu označení směrovaných událostí jako zpracovávaných a zpracování tříd.

Ve velmi vzácných případech je vhodné zpracovat události, ve kterých je Handled označena true, a upravit argumenty události změnou Handled na false. To může být nezbytné v určitých oblastech vstupních událostí ovládacích prvků, jako je zpracování klíčů KeyDown oproti TextInput kde události vstupu nízké úrovně a vysoké úrovně soupeří o zpracování a každý se pokouší pracovat s jinou strategií směrování.

Platí pro