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í.
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 |
- Odpovídající událost tunelování je PreviewMouseDown.