¿Le resultó útil esta página?
Sus comentarios sobre este contenido son muy importantes. Háganos saber su opinión.
¿Tiene comentarios adicionales?
Caracteres restantes: 1500
Exportar (0) Imprimir
Expandir todo
Este artículo se tradujo de forma manual. Mueva el puntero sobre las frases del artículo para ver el texto original.
Traducción
Original

Mouse.MouseDown (Evento asociado)

Tiene lugar cuando se presiona cualquier botón del mouse.

Espacio de nombres:  System.Windows.Input
Ensamblado:  PresentationCore (en PresentationCore.dll)
XMLNS para XAML: http://schemas.microsoft.com/winfx/2006/xaml/presentation, http://schemas.microsoft.com/netfx/2007/xaml/presentation

See AddMouseDownHandler, RemoveMouseDownHandler
<object Mouse.MouseDown="MouseButtonEventHandler" .../>

Campo de identificador

MouseDownEvent

Estrategia de enrutamiento

Propagación

delegate

MouseButtonEventHandler

Para determinar qué botón del mouse se ha presionado, compruebe la propiedad ChangedButton del objeto MouseButtonEventArgs pasado al controlador.

Se trata de un evento adjunto. WPF implementa los eventos adjuntos como eventos enrutados. Los eventos asociados son fundamentalmente un concepto del lenguaje XAML para hacer referencia a los eventos que pueden controlarse en los objetos que no definen ese evento, el cual WPF expande para permitirle recorrer una ruta. Los eventos adjuntos no tienen una sintaxis de control directa en el código; para asociar los controladores de un evento enrutado en el código, utilice un método Add*Handler designado. Para obtener información detallada, vea Información general sobre eventos adjuntos.

El marco de trabajo de Windows Presentation Foundation (WPF) se basa en este evento asociado, y lo expone como dos eventos de common language runtime (CLR) diferentes en UIElement y ContentElement: MouseLeftButtonDown y MouseRightButtonDown. Estas implementaciones controlan el evento MouseDown subyacente y leen los argumentos del evento para determinar si participó el botón primario o secundario del mouse. En el caso de un mouse de tres botones, no hay ninguna compatibilidad con eventos del marco de trabajo para el botón central. Debe usar el evento MouseDown y comprobar el estado de MiddleButton en los argumentos de evento.

Nota importanteImportante

Algunas clases ContentElement derivadas con un comportamiento parecido al de un control como, por ejemplo, Hyperlink, podrían tener un control de clase inherente para los eventos de los botones del mouse. El evento de presionar el botón primario del mouse es el que tiene más probabilidades de tener el control de clases en un control. El control de clases suele marcar el evento subyacente de la clase Mouse como controlado. Cuando el evento está marcado como controlado, no suelen usarse otros controladores de instancias asociados a ese elemento. Tampoco suele usarse ningún otro controlador de clases o instancias asociado a los elementos en la dirección de propagación hacia la raíz del árbol de la interfaz de usuario.

Para resolver el problema que se describe en la nota Importante anterior y seguir recibiendo los eventos MouseDown de pulsación del botón primario del mouse en una clase derivada que tiene el control de clases, use cualquiera de estas soluciones:

  • Asocie controladores para el evento PreviewMouseDown, que no está marcado como administrado por los controles. Tenga en cuenta que al tratarse de un evento de vista previa, la ruta empieza en la raíz y desciende hasta el control.

  • Registra un controlador del control mediante procedimientos llamando a AddHandler y eligiendo la opción de firma que habilita los controladores para que escuchen los eventos aunque estén marcados como administrados en los datos del evento enrutado.

Por lo que respecta a eventos enrutados relacionados con el mouse, tenga cuidado sobre cómo y cuándo los marca como controlados. La dificultad a la hora de tomar decisiones adecuadas sobre si también debe notificarse a los elementos primarios cualquier acción del mouse determinada es el motivo de que el marco de trabajo de WPF eligiese el modelo de tener expuesto el evento enrutado del mouse subyacente en forma de eventos de CLR a lo largo de la ruta. Se dan problemas similares a la hora de tunelizar los eventos del mouse. Se preguntará si debería controlar el evento y no hacer que lo controlen más elementos secundarios hacia el origen y cómo afectará todo esto a la creación de un control donde las partes integrantes podrían haber esperado comportamientos del mouse.

.NET Framework

Compatible con: 4, 3.5, 3.0

.NET Framework Client Profile

Compatible con: 4, 3.5 SP1

Windows 7, Windows Vista SP1 o posterior, Windows XP SP3, Windows Server 2008 (no se admite Server Core), Windows Server 2008 R2 (se admite Server Core con SP1 o posterior), Windows Server 2003 SP2

.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

Adiciones de comunidad

AGREGAR
Mostrar:
© 2015 Microsoft