Mouse.MouseDown Přidružená událost
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í.
Vyvolá se při stisku libovolného tlačítka myši.
see AddMouseDownHandler, and RemoveMouseDownHandler
see AddMouseDownHandler, and RemoveMouseDownHandler
see AddMouseDownHandler, and RemoveMouseDownHandler
Poznámky
Chcete-li zjistit, které tlačítko myši bylo stisklo, zkontrolujte ChangedButton vlastnost v objektu MouseButtonEventArgs předané obslužné rutině.
Toto je přidružená událost. WPF implementuje připojené události jako směrované události. Připojené události jsou v podstatě koncept jazyka XAML pro odkazování na události, které lze zpracovat u objektů, které danou událost nedefinují, což WPF rozšiřuje tím, že také umožňuje události procházet trasu. Připojené události nemají přímou syntaxi zpracování v kódu; pokud chcete připojit obslužné rutiny pro směrovanou událost v kódu, použijete určenou metodu Add*Handler. Podrobnosti najdete v přehledu připojených událostí.
Architektura Windows Presentation Foundation (WPF) staví na této připojené události tím, že ji zobrazí jako dvě různé události modulu CLR (Common Language Runtime) na UIElement a ContentElement: MouseLeftButtonDown a MouseRightButtonDown. Tyto implementace zpracovávají podkladovou MouseDown událost a čtou argumenty události k určení, zda bylo zapojeno levé nebo pravé tlačítko myši. U myši se třemi tlačítky není k dispozici podpora událostí na úrovni architektury pro středové tlačítko. Měli byste použít MouseDown událost a zkontrolovat MiddleButton stav v argumentech události.
Důležité
Několik ContentElement odvozených tříd, které mají chování podobné ovládacím prvkům, Hyperlinknapříklad , mohou mít inherentní zpracování tříd pro události tlačítka myši. Událost levého tlačítka myši dolů je nejpravděpodobnější událostí zpracování třídy v ovládacím prvku. Zpracování třídy často označuje podkladovou Mouse událost třídy jako zpracovanou. Jakmile je událost označena jako obslužná, ostatní obslužné rutiny instance, které jsou připojeny k danému prvku, nejsou obvykle vyvolány. Žádné jiné třídy nebo obslužné rutiny instance, které jsou připojeny k prvkům ve směru bublání směrem ke kořenu ve stromu uživatelského rozhraní, nejsou také obvykle aktivovány.
Problém popsaný v předchozí důležité poznámce a stále přijímat MouseDown události pro události levého tlačítka myši dolů v odvozené třídě, která má zpracování třídy, můžete vyřešit pomocí některého z těchto řešení:
Připojit obslužné rutiny pro PreviewMouseDown událost, která není označena jako zpracovávaná ovládacími prvky. Všimněte si, že vzhledem k tomu, že se jedná o událost preview, trasa začíná v kořenovém adresáři a tuneluje se dolů k ovládacímu prvku.
Zaregistrujte obslužnou rutinu na ovládacím prvku procedurálně voláním AddHandler a zvolením možnosti podpisu, která umožňuje obslužným rutinám naslouchat událostem, i když jsou již označeny jako zpracované ve směrovaných datech událostí.
U směrovaných událostí, které souvisejí s myší, dávejte pozor na to, jak nebo kdy je označíte jako zpracované. Potíže při provádění vhodných rozhodnutí o tom, zda by nadřazené prvky měly být také informovány o jakékoli dané akci myši je ve skutečnosti důvodem, proč WPF framework zvolil model, aby základní událost směrované myší byla vysušena jako události CLR podél trasy. Podobné problémy existují u událostí tunelování myši. Měli byste událost zpracovat a neměli by ji zpracovávat další podřízené položky směrem ke zdroji, a jak by to ovlivnilo sestavení ovládacího prvku, kde by kompozitující části mohly mít očekávané chování myši?
Informace o směrované události
Pole Identifikátor | MouseDownEvent |
Strategie směrování | Bublající |
Delegát | MouseButtonEventHandler |
- Odpovídající událost tunelování je PreviewMouseDown.