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ě.

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 nastavení, nastavte na true hodnotu, pokud má být událost označena jako zpracována, jinak false. Při čtení této hodnoty označuje, true že obslužná rutina třídy nebo obslužná rutina instance podél trasy již označila tuto událost zpracovávanou. false.označuje, že žádná taková obslužná rutina neznačila zpracovávanou událost.

Výchozí hodnota je false.

Atributy

Příklady

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

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í zpracovávané události omezí viditelnost směrované události na naslouchací procesy podél trasy události. Událost stále cestuje po zbytek trasy, ale v odpovědi budou vyvolány pouze obslužné rutiny, které jsou výslovně přidány HandledEventsTootrue pomocí volání AddHandler(RoutedEvent, Delegate, Boolean) metody. Výchozí obslužné rutiny v naslouchacích procesech instancí (například ty vyjádřené v jazyce XAML (Extensible Application Markup Language)) nebudou vyvolány. Zpracování událostí, které jsou označené jako zpracované, není běžným scénářem.

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

Ve velmi vzácných případech je vhodné zpracovávat události, které Handled jsou označené 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í KeyDownTextInput klíčů a kde o zpracování soupeří vstupní události nízké a vysoké úrovně, a každá z nich se pokouší pracovat s jinou strategií směrování.

Platí pro