Mouse.MouseDown Ansluten händelse

Definition

Inträffar när någon musknapp är nedtryckt.

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

Kommentarer

Om du vill ta reda på vilken musknapp som var nedtryckt kontrollerar du egenskapen ChangedButton i den MouseButtonEventArgs som skickades till hanteraren.

Det här är en bifogad händelse. WPF implementerar kopplade händelser som dirigerade händelser. Kopplade händelser är i grunden ett XAML-språkkoncept för att referera till händelser som kan hanteras på objekt som inte definierar händelsen, vilket WPF expanderar genom att även aktivera händelsen för att korsa en väg. Kopplade händelser har inte någon syntax för direkt hantering i koden. om du vill koppla hanterare för en dirigerad händelse i kod använder du en angiven Add*Handler-metod. Mer information finns i Översikt över bifogade händelser.

Ramverket Windows Presentation Foundation (WPF) bygger på den här kopplade händelsen genom att visa den som två olika CLR-händelser (Common Language Runtime) på UIElement och ContentElement: MouseLeftButtonDown och MouseRightButtonDown. Dessa implementeringar hanterar den underliggande MouseDown händelsen och läser argumenten för händelsen för att avgöra om den vänstra eller högra musknappen var inblandad. För en treknappsmus finns det inget stöd för händelser på ramverksnivå för mittenknappen. Du bör använda händelsen MouseDown och kontrollera MiddleButton tillståndet i händelseargumenten.

Important

ContentElement Några härledda klasser som har kontrollliknande beteende, Hyperlinktill exempel , kan ha inbyggd klasshantering för musknappshändelser. Händelsen med nedtryckt vänster musknapp är den mest sannolika händelsen som har klasshantering i en kontroll. Klasshanteringen markerar ofta den underliggande Mouse klasshändelsen som hanterad. När händelsen har markerats som hanterad genereras normalt inte andra instanshanterare som är kopplade till elementet. Andra klass- eller instanshanterare som är kopplade till element i bubbelriktningen mot roten i användargränssnittsträdet höjs inte heller normalt.

Du kan lösa problemet som beskrivs i föregående Viktig anteckning och fortfarande ta emot MouseDown händelser för händelser med vänster musknapp ned på en härledd klass som har klasshantering med hjälp av någon av dessa lösningar:

  • Koppla hanterare för PreviewMouseDown händelsen, som inte är markerad som hanterad av kontrollerna. Observera att eftersom det här är en förhandsgranskningshändelse börjar vägen vid roten och tunnlar ned till kontrollen.

  • Registrera en hanterare på kontrollen procedurmässigt genom att anropa AddHandler och välja signaturalternativet som gör det möjligt för hanterare att lyssna efter händelser även om de redan har markerats som hanterade i de dirigerade händelsedata.

För routade händelser som är relaterade till musen bör du vara försiktig med hur eller när du markerar dem som hanteras. Svårigheten att göra lämpliga val om huruvida överordnade element också ska informeras om en viss musåtgärd är i själva verket varför det WPF ramverket valde modellen för att den underliggande musruttade händelsen ska visas som CLR-händelser längs vägen. Liknande problem finns med tunnelmushändelser. Ska du hantera händelsen och inte låta den hanteras av ytterligare underordnade objekt mot källan, och hur skulle det påverka kompostering av en kontroll där sammansättningsdelarna kan ha förväntat sig musbeteenden?

Information om dirigerad händelse

Objekt Value
Identifierarfält MouseDownEvent
Routningsstrategi Bubblande
Delegera MouseButtonEventHandler

Gäller för