Sdílet prostřednictvím


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

Definice

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

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

Poznámky

Chcete-li určit, které tlačítko myši bylo potlačováno, zkontrolujte ChangedButton vlastnost předanou MouseButtonEventArgs obslužné rutině.

Jedná se o připojenou událost. WPF implementuje připojené události jako směrované události. Připojené události jsou základním konceptem 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 událost umožňuje procházet trasu. Připojené události nemají v kódu přímou syntaxi zpracování; chcete-li připojit obslužné rutiny 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 WPF (Windows Presentation Foundation) staví na této připojené události tím, že je 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, abyste zjistili, jestli se týká levého nebo pravého tlačítka myši. U myši se třemi tlačítky neexistuje podpora událostí na úrovni architektury pro tlačítko center. 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 Hyperlinkchování podobné řízení , mohou 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á v ovládacím prvku zpracování třídy. 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 jiné obslužné rutiny třídy nebo instance, které jsou připojeny k prvkům ve směru bublání směrem ke kořenovému prvku ve stromu uživatelského rozhraní, také nejsou obvykle vyvolány.

Můžete vyřešit problém, který je uveden 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 na odvozené třídě, která má zpracování třídy pomocí některého z těchto řešení:

  • Připojte obslužné rutiny pro PreviewMouseDown událost, která není označena jako zpracována ovládacími prvky. Všimněte si, že protože se jedná o událost ve verzi Preview, trasa se spustí v kořenovém adresáři a tuneluje dolů na ovládací prvek.

  • Zaregistrujte obslužnou rutinu řízení procedurálně voláním AddHandler a zvolením možnosti podpisu, která obslužným rutinám umožňuje naslouchat událostem, i když jsou již označeny jako popisované v směrovaných datech událostí.

U směrovaných událostí, které souvisejí s myší, buďte opatrní ohledně toho, jak nebo kdy je označíte jako zpracované. Potíže při rozhodování 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č architektura WPF zvolila model, kdy se podkladová událost směrovaná myší zobrazí jako události CLR podél trasy. Podobné problémy existují u událostí myši tunelování. Měli byste zpracovat událost a nezpracovat ji další podřízené položky směrem ke zdroji a jak by to ovlivnilo vytvoření ovládacího prvku, ve kterém mohou být části skládání očekávaných chování myši?

Informace o směrované události

Položka Hodnota
Pole Identifikátor MouseDownEvent
Strategie směrování Bublající
Delegát MouseButtonEventHandler

Platí pro