UIElement3D.AddHandler Metoda
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í.
Přidá obslužnou rutinu směrované události pro zadanou směrovanou událost a přidá obslužnou rutinu do kolekce obslužných rutin pro aktuální prvek.
Přetížení
AddHandler(RoutedEvent, Delegate) |
Přidá obslužnou rutinu směrované události pro zadanou směrovanou událost a přidá obslužnou rutinu do kolekce obslužných rutin pro aktuální prvek. |
AddHandler(RoutedEvent, Delegate, Boolean) |
Přidá obslužnou rutinu směrované události pro zadanou směrovanou událost a přidá obslužnou rutinu do kolekce obslužných rutin pro aktuální prvek. Zadejte |
AddHandler(RoutedEvent, Delegate)
Přidá obslužnou rutinu směrované události pro zadanou směrovanou událost a přidá obslužnou rutinu do kolekce obslužných rutin pro aktuální prvek.
public:
virtual void AddHandler(System::Windows::RoutedEvent ^ routedEvent, Delegate ^ handler);
public void AddHandler (System.Windows.RoutedEvent routedEvent, Delegate handler);
abstract member AddHandler : System.Windows.RoutedEvent * Delegate -> unit
override this.AddHandler : System.Windows.RoutedEvent * Delegate -> unit
Public Sub AddHandler (routedEvent As RoutedEvent, handler As Delegate)
Parametry
- routedEvent
- RoutedEvent
Identifikátor směrované události, která má být zpracována.
- handler
- Delegate
Odkaz na implementaci obslužné rutiny.
Implementuje
Poznámky
Stejnou obslužnou rutinu pro stejnou událost můžete přidat vícekrát bez vyvolání výjimky. Obslužná rutina je však ve skutečnosti vyvolána vícekrát, když je událost zpracována. Proto zvažte, jak může mít toto chování vedlejší účinky, které by měly být zohledněny v implementaci obslužné rutiny.
Tuto metodu obvykle používáte k poskytnutí implementace objektu "add" pro model přístupu k událostem Microsoft .NET vlastní směrované události.
Platí pro
AddHandler(RoutedEvent, Delegate, Boolean)
Přidá obslužnou rutinu směrované události pro zadanou směrovanou událost a přidá obslužnou rutinu do kolekce obslužných rutin pro aktuální prvek. Zadejte handledEventsToo
jako true
, aby byla zadaná obslužná rutina vyvolána pro směrovanou událost, která již byla označena jako zpracována jiným prvkem na trase události.
public:
void AddHandler(System::Windows::RoutedEvent ^ routedEvent, Delegate ^ handler, bool handledEventsToo);
public void AddHandler (System.Windows.RoutedEvent routedEvent, Delegate handler, bool handledEventsToo);
member this.AddHandler : System.Windows.RoutedEvent * Delegate * bool -> unit
Public Sub AddHandler (routedEvent As RoutedEvent, handler As Delegate, handledEventsToo As Boolean)
Parametry
- routedEvent
- RoutedEvent
Identifikátor směrované události, která má být zpracována.
- handler
- Delegate
Odkaz na implementaci obslužné rutiny.
- handledEventsToo
- Boolean
true
zaregistrovat obslužnou rutinu tak, aby byla vyvolána i v případě, že je směrovaná událost označena jako zpracována v datech události; false
zaregistrovat obslužnou rutinu s výchozí podmínkou, že nebude vyvolána, pokud je směrovaná událost již označena jako zpracována.
Výchozí formát je false
.
Pravidelně nežádejte o opětovné zpracování směrované události.
Poznámky
Praktické zpracování vstupních událostí nízké úrovně je složitý úkol. Mnoho ovládacích prvků implementuje chování, kdy je určitá událost označena jako zpracována a je nahrazena jinou intuitivnější událostí. Obecně platí, že ovládací prvek označí vstupní událost platformy jako zpracovávanou pouze v případě, že k tomu existuje záměr návrhu. V určitých scénářích nemusí tyto záměry návrhu představovat to, co vyžaduje vaše konkrétní zpracování vstupní události. Pro tyto scénáře je vhodné zaregistrovat obslužné rutiny handledEventsToo
true
. Ale neměli byste to dělat rutinně. Vyvolání obslužných rutin v reakci na všechny události, i když jsou zpracovány, zkomplikuje vlastní logiku zpracování událostí aplikace. Pokud je logika obslužné rutiny podstatná, může dojít ke snížení výkonu. Připojení obslužných rutin byste si měli vyhrabit pro již zpracovávané události v situacích, kdy jste již během procesu vývoje zjistili, že určité ovládací prvky zpracovávají události, které stále chcete zpracovat logikou aplikace.
Další technikou, jak se vyhnout chování třídy při určitých kombinacích řízení událostí, je použít alternativu pro danou událost ve verzi Preview. Pokud MouseLeftButtonDown je například označený jako zpracování třídy, můžete místo toho přidat obslužné rutiny pro PreviewMouseLeftButtonDown .
Stejnou obslužnou rutinu pro stejnou událost můžete přidat vícekrát bez vyvolání výjimky. Obslužná rutina je však ve skutečnosti vyvolána vícekrát, když je událost zpracována. Proto zvažte, jak může mít toto chování vedlejší účinky, které by měly být zohledněny v implementaci obslužné rutiny.
Tuto metodu obvykle používáte k poskytnutí implementace objektu "add" pro model přístupu k událostem Microsoft .NET vlastní směrované události.