Exportar (0) Imprimir
Expandir todo
Expandir Minimizar
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

UIElement.OnMouseDown (Método)

Se invoca cuando un evento adjunto Mouse.MouseDown no administrado llega a un elemento derivado de esta clase en su ruta. Implemente este método para agregar una clase que controle este evento.

Espacio de nombres:  System.Windows
Ensamblado:  PresentationCore (en PresentationCore.dll)

protected virtual void OnMouseDown(
	MouseButtonEventArgs e
)

Parámetros

e
Tipo: System.Windows.Input.MouseButtonEventArgs
MouseButtonEventArgs que contiene los datos del evento. Estos datos de evento incluyen detalles sobre el botón de mouse que se presionó y el estado controlado.

Las acciones de los botones del mouse también las controla un administrador de entrada dedicado. Otras características de programación que se basan en las acciones de los botones de mouse, como los enlaces de comandos y entradas de datos, podrían invocar controladores para la acción antes de que se exponga como una acción de botón de mouse general. Si estas características del sistema de entrada marcan el evento Mouse.MouseDown como administrado, no se invoca OnMouseDown.

Si usa este controlador de clases para marcar el evento como administrado, puede afectar a los eventos siguientes: MouseLeftButtonDown y MouseRightButtonDown. Cualquiera de estos eventos podría provocarse en el elemento receptor cuando se recibe Mouse.MouseDown.

Si marca este evento como controlado en el control de clases, se seguirán provocando los subeventos; sin embargo, pasan el estado controlado a los datos del evento. Si el evento se administra en el control de clases, no se invocan los controladores de instancias de los subeventos a menos que use explícitamente AddHandler(RoutedEvent, Delegate, Boolean) con handledEventsToo true para asociar controladores. Tampoco se invocan los controladores de clases a menos que estén registrados con la firma de RegisterClassHandler(Type, RoutedEvent, Delegate, Boolean) y con handledEventsToo establecido en true. Al administrar OnMouseDown, implica que su control de clases respondió de todas las acciones posibles de presionar el botón del mouse. Quizá no desee este comportamiento; por consiguiente, tenga cuidado cuando use este método virtual para marcar los eventos como administrados.

Cada uno de los eventos directos específicos de los botones también tiene un método On* virtual; considere si sería más adecuado invalidar estos controladores de clases específicos de los botones.

Este método no tiene ninguna implementación predeterminada. Dado que una clase intermedia en la herencia podría implementar este método, se recomienda que llame a la implementación base en su implementación.

La finalidad de este método es similar a la de los métodos On* del modelo de eventos de common language runtime (CLR): este método proporciona los medios para controlar el evento correspondiente de las clases derivadas mediante el establecimiento de un controlador de clases en vez de un controlador de instancias. En este caso, el evento correspondiente es un evento enrutado. El modelo de implementación de los métodos On* es distinto para los eventos enrutados, ya que un elemento secundario, que no es necesariamente el elemento que va a invocar los controladores, puede provocar un evento enrutado. Por consiguiente, la implementación debe examinar las propiedades de origen de los datos del evento. En la mayoría de los casos, no debe intentar provocar de nuevo el evento.

Mediante la invalidación de este método o el registro de los controladores de clase con RegisterClassHandler, las clases derivadas de UIElement pueden llamar a los métodos de controlador de clase privados cuando se recibe el evento en la ruta del evento. El control de clases es adecuado en un escenario en el que se manipulan los datos del evento y el evento enrutado se marca como administrado.

.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:
© 2014 Microsoft