ContentElement.OnPreviewMouseDown(MouseButtonEventArgs) Método

Definición

Se invoca cuando un evento enrutado adjunto PreviewMouseDown no controlado alcanza en su ruta un elemento derivado de esta clase.Invoked when an unhandled PreviewMouseDown attached routed event reaches an element in its route that is derived from this class. Implemente este método a fin de agregar el control de clases para este evento.Implement this method to add class handling for this event.

protected public:
 virtual void OnPreviewMouseDown(System::Windows::Input::MouseButtonEventArgs ^ e);
protected internal virtual void OnPreviewMouseDown (System.Windows.Input.MouseButtonEventArgs e);
abstract member OnPreviewMouseDown : System.Windows.Input.MouseButtonEventArgs -> unit
override this.OnPreviewMouseDown : System.Windows.Input.MouseButtonEventArgs -> unit
Protected Friend Overridable Sub OnPreviewMouseDown (e As MouseButtonEventArgs)

Parámetros

e
MouseButtonEventArgs

Objeto MouseButtonEventArgs que contiene los datos del evento.The MouseButtonEventArgs that contains the event data. Los datos de evento informan de que se presionaron uno o varios botones del mouse.The event data reports that one or more mouse buttons were pressed.

Comentarios

Las acciones del botón del mouse también se controlan mediante un administrador de entrada dedicado.Mouse button actions are also handled by a dedicated input manager. Otras características de programación que dependen de las acciones del botón del mouse, como los enlaces de entrada y de comando, podrían invocar Controladores para la acción antes de que se expongan como una acción general del botón del mouse.Other programming features that rely on mouse button actions, such as input and command bindings, might invoke handlers for the action before it is exposed as a general mouse button action. Si estas características del sistema de entrada marcan el evento Mouse.PreviewMouseDown como controlado, no se invoca OnPreviewMouseDown.If these input system features mark the Mouse.PreviewMouseDown event as handled, OnPreviewMouseDown is not invoked.

Si utiliza este controlador de clase para marcar el evento como controlado, podría afectar a los siguientes eventos: PreviewMouseLeftButtonDown y PreviewMouseRightButtonDown.If you use this class handler to mark the event as handled, you potentially impact the following events: PreviewMouseLeftButtonDown and PreviewMouseRightButtonDown. Cualquiera de estos eventos se puede producir en el elemento receptor cuando se recibe Mouse.PreviewMouseDown.Either of these events may be raised on the receiving element when Mouse.PreviewMouseDown is received.

Si marca este evento como controlado en el control de clases, todavía se generan subtipos. sin embargo, pasan el estado controlado en los datos de evento.If you mark this event as handled in class handling, subevents are still raised; however, they pass the handled state in the event data. Si el evento se controla en el control de clases, no se invocan los controladores de instancia de los subpars a menos que se use explícitamente AddHandler(RoutedEvent, Delegate, Boolean) con handledEventsToo true para adjuntar controladores.If the event is handled in class handling, instance handlers for the subevents are not invoked unless you explicitly use AddHandler(RoutedEvent, Delegate, Boolean) with handledEventsToo true in order to attach handlers. Tampoco se invocan los controladores de clase a menos que los controladores de clase se registren con la firma RegisterClassHandler(Type, RoutedEvent, Delegate, Boolean) con handledEventsToo true.Class handlers also are not invoked unless those class handlers were registered with the RegisterClassHandler(Type, RoutedEvent, Delegate, Boolean) signature with handledEventsToo true. Mediante el control de OnPreviewMouseDown, es decir, el control de clases tiene en cuenta todas las acciones posibles del botón del mouse.By handling OnPreviewMouseDown, you are implying that your class handling accounted for all possible mouse button down actions. Es posible que este comportamiento no sea el deseado; Por lo tanto, tenga cuidado cuando use este método virtual para marcar los eventos como controlados.This behavior might be unwanted; Therefore, use caution when you use this virtual method to mark events as handled.

Cada uno de los eventos directos específicos del botón también tiene un método virtual en*; considere si la invalidación de estos controladores de clase específicos del botón puede ser más adecuada.Each of the button-specific direct events also has a virtual On* method; consider whether overriding these button-specific class handlers might be more appropriate.

Este método no tiene ninguna implementación predeterminada.This method has no default implementation. Dado que una clase intermedia en la herencia podría implementar este método, se recomienda llamar a la implementación base en su implementación.Because an intermediate class in the inheritance might implement this method, we recommend that you call the base implementation in your implementation.

El propósito de este método es similar al patrón de eventos Common Language Runtime (CLR)common language runtime (CLR) en* métodos: este método proporciona los medios para controlar el evento de coincidencia de las clases derivadas mediante el establecimiento de un controlador de clase en lugar de un controlador de instancia.The purpose of this method is similar to the Common Language Runtime (CLR)common language runtime (CLR) event pattern On* methods: this method provides the means to handle the matching event from derived classes by establishing a class handler instead of an instance handler. En este caso, el evento de coincidencia es un evento enrutado.In this case the matching event is a routed event. El modelo de implementación de en* métodos es diferente para los eventos enrutados porque un elemento secundario puede generar un evento enrutado, que no es necesariamente el elemento que invocará los controladores.The implementation pattern of the On* methods is different for routed events because a routed event can be raised by a child element, which is not necessarily the element that will invoke handlers. Por lo tanto, la implementación debe examinar las propiedades de origen de los datos del evento.Therefore, your implementation needs to examine the source properties of the event data. No debe intentar volver a generar el evento en la mayoría de los casos.It should not try to reraise the event in most cases.

Mediante la invalidación de este método o el registro de controladores de clase con RegisterClassHandler, las clases derivadas de ContentElement pueden llamar a métodos de controlador de clase privada cuando se recibe el evento a lo largo de la ruta del evento.Either by overriding this method or by registering class handlers with RegisterClassHandler, derived classes of ContentElement can call private class handler methods when the event is received along the event route. Un escenario en el que el control de clases es adecuado es manipular los datos del evento y marcar el evento enrutado como controlado.One scenario where class handling is appropriate is to manipulate the event data and mark the routed event as handled. Otro escenario que es específico de los eventos de vista previa es marcarlos como controlados para que no se invoquen los controladores de clase de propagación coincidentes.Another scenario that is specifically for Preview events is to mark them handled so that the matching bubbling class handlers are not invoked.

Se aplica a

Consulte también: