RoutedEventArgs.Handled Vlastnost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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 HandledEventsToo
true
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
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro