Mouse.MouseDown Mouse.MouseDown Mouse.MouseDown Attached Event

Definición

Se produce cuando se presiona cualquier botón del mouse.Occurs when any mouse button is depressed.

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

Comentarios

Para determinar qué botón del mouse se presionó, compruebe el ChangedButton propiedad en el MouseButtonEventArgs pasado al controlador.To determine which mouse button was depressed, check the ChangedButton property in the MouseButtonEventArgs passed to the handler.

Se trata de un evento adjunto.This is an attached event. WPFWPF implementa los eventos adjuntos como eventos enrutados.implements attached events as routed events. Los eventos adjuntos son fundamentalmente un XAMLXAML concepto de lenguaje para hacer referencia a los eventos que pueden controlarse en objetos que no definen ese evento, que WPFWPF amplía habilitando también el evento recorrer una ruta.Attached events are fundamentally a XAMLXAML language concept for referencing events that can be handled on objects that do not define that event, which WPFWPF expands upon by also enabling the event to traverse a route. Los eventos adjuntos no tienen una sintaxis de control directo en el código. Para adjuntar controladores para un evento enrutado en el código, utilice Agregar designado * método del controlador.Attached events do not have a direct handling syntax in code; to attach handlers for a routed event in code, you use a designated Add*Handler method. Para obtener más información, consulte Attached Events Overview.For details, see Attached Events Overview.

El Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF) framework se basa en este evento adjunto, y lo expone como dos diferentes Common Language Runtime (CLR)common language runtime (CLR) eventos en UIElement y ContentElement: MouseLeftButtonDown y MouseRightButtonDown.The Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF) framework builds on this attached event by surfacing it as two different Common Language Runtime (CLR)common language runtime (CLR) events on UIElement and ContentElement: MouseLeftButtonDown and MouseRightButtonDown. Estas implementaciones controlan subyacente MouseDown eventos y leer los argumentos del evento para determinar si se ha implicado el botón izquierdo o derecho del mouse.These implementations handle the underlying MouseDown event and read the arguments of the event to determine whether the left or right mouse button was involved. Para un botón del mouse de tres botones, no hay ninguna compatibilidad de eventos de nivel de marco para el botón central.For a three-button mouse, there is no framework-level event support for the center button. Debe usar el MouseDown evento y compruebe el MiddleButton argumentos de eventos de estado.You should use the MouseDown event and check the MiddleButton state in the event arguments.

Importante

Unos ContentElement las clases derivadas que tienen un comportamiento similar a control, por ejemplo, Hyperlink, podría tener inherentes a control de clases para los eventos de botón del mouse.A few ContentElement derived classes that have control-like behavior, for example, Hyperlink, might have inherent class handling for mouse button events. El botón primario del mouse hacia abajo de evento es el evento más probable que clase en un control.The left mouse button down event is the most likely event to have class handling in a control. La clase de control a menudo marca subyacente Mouse eventos de clase como controlado.The class handling often marks the underlying Mouse class event as handled. Una vez que el evento está marcado como controlado, no se generan normalmente otros controladores de instancia que están asociados a ese elemento.Once the event is marked handled, other instance handlers that are attached to that element are not ordinarily raised. Cualquier otro controlador instancia o clase que se adjunta a los elementos de la dirección de propagación hacia la raíz en el árbol de la interfaz de usuario también normalmente no se genera.Any other class or instance handlers that are attached to elements in the bubbling direction towards the root in the UI tree are also not ordinarily raised.

Puede resolver el problema que se describe en la nota importante anterior y sigue recibiendo MouseDown eventos para los eventos en una clase derivada que tiene el control mediante el uso de cualquiera de estas soluciones de clases de presionar el botón primario del mouse:You can resolve the issue that is outlined in the preceding Important note and still receive MouseDown events for left mouse button down events on a derived class that has class handling by using either of these solutions:

  • Adjuntar controladores para el PreviewMouseDown evento, que no está marcado como controlado por los controles.Attach handlers for the PreviewMouseDown event, which is not marked as handled by the controls. Tenga en cuenta que se trata de un evento de vista previa, la ruta comienza en la raíz y desciende hasta el control.Notice that because this is a preview event, the route starts at the root and tunnels down to the control.

  • Registrar un controlador en el control mediante procedimientos llamando AddHandler y eligiendo la opción de firma que habilita los controladores escuchar eventos aunque estén marcados como controlados en los datos del evento enrutado.Register a handler on the control procedurally by calling AddHandler and choosing the signature option that enables handlers to listen for events even if they are already marked as handled in the routed event data.

Para obtener información sobre los eventos enrutados relacionados con el mouse, tenga cuidado con cómo y cuándo los marca como controlados.For routed events that relate to the mouse, be careful about how or when you mark them handled. La dificultad de tomar decisiones adecuadas sobre si los elementos primarios deberían también informar sobre cualquier acción del mouse en realidad es el motivo por el WPFWPF framework elige el modelo de tener el evento del mouse que se enrutan subyacente deben aparecer como CLRCLR eventos a lo largo de la ruta.The difficulty in making the appropriate choices about whether parent elements should also be informed about any given mouse action is in fact why the WPFWPF framework chose the model of having the underlying mouse routed event be surfaced as CLRCLR events along the route. Existen problemas similares con la tunelización de eventos del mouse.Similar issues exist with tunneling mouse events. ¿Debe controlar el evento y no hacer que lo controlen más elementos secundarios hacia el origen, y cómo la composición del que afectan a un control donde las partes de la composición podrían haber esperado comportamientos del mouse?Should you handle the event and not have it be handled by further children toward the source, and how would that affect compositing a control where the compositing pieces might have expected mouse behaviors?

Información sobre eventos enrutadosRouted Event Information

Campo de identificadorIdentifier field MouseDownEvent
Estrategia de enrutamientoRouting strategy PropagaciónBubbling
delegadoDelegate MouseButtonEventHandler

Se aplica a