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ě 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 HandledEventsToo
true
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í.