Mouse.MouseDown Přidružená událost

Definice

Nastane, když je jakékoli tlačítko myši stiskováno.

see AddMouseDownHandler, and RemoveMouseDownHandler
see AddMouseDownHandler, and RemoveMouseDownHandler
see AddMouseDownHandler, and RemoveMouseDownHandler

Poznámky

Chcete-li zjistit, které tlačítko myši bylo stisknuto, zkontrolujte ChangedButton vlastnost předanou MouseButtonEventArgs obslužné rutině.

Toto je připojená 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é tuto událost nedefinují, což WPF rozšiřuje také tím, že umožňuje události procházet trasu. Připojené události nemají syntaxi přímého zpracování v kódu; k připojení obslužných rutin pro směrovanou událost v kódu použijte určenou metodu Add*Handler. Podrobnosti najdete v tématu Přehled připojených událostí.

Architektura Windows Presentation Foundation (WPF) vychází z této připojené události tím, že ji zobrazí jako dvě různé události CLR (Common Language Runtime) zapnuté UIElement a ContentElement: MouseLeftButtonDown a MouseRightButtonDown. Tyto implementace zpracovávají podkladovou MouseDown událost a čtou argumenty události a určují, zda bylo zapojeno levé nebo pravé tlačítko myši. U myši se třemi tlačítky neexistuje žádná podpora událostí na úrovni architektury pro tlačítko na střed. Událost byste měli použít MouseDown a zkontrolovat MiddleButton stav v argumentech události.

Důležité

ContentElement Několik odvozených tříd, které mají například chování podobné ovládacím prvkům, Hyperlinkmůže mít vlastní zpracování tříd pro události tlačítka myši. Událost levého tlačítka myši je nejpravděpodobnější událostí, která má zpracování tříd v ovládacím prvku. Zpracování třídy často označuje událost podkladové Mouse třídy jako zpracována. Jakmile je událost označena jako zpracována, ostatní obslužné rutiny instance, které jsou připojeny k danému prvku, nejsou obvykle vyvolány. Všechny ostatní obslužné rutiny třídy nebo instance, které jsou připojeny k prvkům ve směru bublání směrem ke kořeni stromu uživatelského rozhraní, se také obvykle nezvýšují.

Problém, který je popsaný v předchozí důležité poznámce, můžete vyřešit a stále přijímat MouseDown události pro události levého tlačítka myši u odvozené třídy, která má zpracování tříd pomocí některého z těchto řešení:

  • Připojte obslužné rutiny události PreviewMouseDown , které nejsou označeny jako obslužné rutiny ovládacích prvků. Všimněte si, že vzhledem k tomu, že se jedná o událost ve verzi Preview, začíná trasa v kořenovém adresáři a tunely směrem dolů k ovládacímu prvku.

  • Zaregistrujte obslužnou rutinu v ovládacím prvku procedurálně voláním AddHandler a výběrem možnosti podpisu, která umožňuje obslužným rutinám naslouchat událostem, i když jsou již označeny jako zpracovávané v 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 rozhodování o tom, zda mají být nadřazené prvky také informovány o jakékoli dané akci myši, je ve skutečnosti důvodem, proč architektura WPF zvolila model, kdy se podkladová událost směrovaná myší zobrazí jako události CLR podél trasy. U událostí myši tunelování existují podobné problémy. Měli byste událost zpracovat a neměli byste ji zpracovávat dalšími podřízenými položkami směrem ke zdroji a jak by to ovlivnilo vytvoření ovládacího prvku, ve kterém by mohly být části skládání očekávané chování myši?

Informace o směrované události

Pole identifikátoru MouseDownEvent
Strategie směrování Bublající
Delegát MouseButtonEventHandler

Platí pro