UIElement.OnMouseUp(MouseButtonEventArgs) Método

Definición

Se invoca cuando un evento enrutado MouseUp no controlado alcanza un elemento derivado de esta clase en su ruta. Implemente este método a fin de agregar el control de clases para este evento.

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

Parámetros

e
MouseButtonEventArgs

Objeto MouseButtonEventArgs que contiene los datos del evento. Los datos del evento informan de que se soltó el botón del mouse.

Comentarios

Las acciones del botón del mouse también se controlan mediante un administrador de entrada dedicado. Otras características de programación que se basan en acciones de botón del mouse, como enlaces de entrada y comandos, pueden invocar controladores para la acción antes de exponerse como una acción general del botón del mouse. Si estas características del sistema de entrada marcan el Mouse.MouseUp evento como controlado, OnMouseUp no se invoca.

Si usa este controlador de clases para marcar el evento como controlado, puede afectar potencialmente a los siguientes eventos: MouseLeftButtonUp y MouseRightButtonUp. Cualquiera de estos eventos se puede generar en el elemento receptor cuando Mouse.MouseUp se recibe.

Si marca este evento como controlado en el control de clases, todavía se generan subeventos; sin embargo, pasan el estado controlado en los datos del evento. Si el evento se controla en el control de clases, los controladores de instancia de los subeventos no se invocan a menos que se use AddHandler(RoutedEvent, Delegate, Boolean) explícitamente con para handledEventsTootrue adjuntar controladores. Los controladores de clase tampoco se invocan a menos que esos controladores de clase se registraran con la RegisterClassHandler(Type, RoutedEvent, Delegate, Boolean) firma con handledEventsTootrue. Al controlar OnMouseUp, implica que el control de clases tiene en cuenta todas las posibles acciones de botón del mouse hacia arriba. Este comportamiento podría ser no deseado; Por lo tanto, tenga cuidado al usar este método virtual para marcar los eventos como controlados.

Cada uno de los eventos directos específicos del botón también tiene un método On* virtual; considere si la invalidación de estos controladores de clases específicos del botón podría ser más adecuado.

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

El propósito de este método es similar al patrón de eventos de Common Language Runtime (CLR) métodos On*: este método proporciona los medios para controlar el evento coincidente de las clases derivadas estableciendo un controlador de clases en lugar de un controlador de instancia. En este caso, el evento coincidente es un evento enrutado. El patrón de implementación de los métodos On* es diferente para los eventos enrutados porque un elemento secundario puede generar un evento enrutado, que no es necesariamente el elemento que invocará controladores. Por lo tanto, la implementación debe examinar las propiedades de origen de los datos del evento. No debe intentar recuperar el evento en la mayoría de los casos.

Al invalidar este método o registrar controladores de clase con RegisterClassHandler, las clases derivadas de pueden llamar a métodos de controlador de UIElement clases privadas cuando se recibe el evento a lo largo de la ruta de eventos. Un escenario en el que el control de clases es adecuado es manipular los datos del evento y marcar el evento enrutado como controlado.

Se aplica a