UIElement.PointerExited Evento

Definición

Se produce cuando un puntero deja el área de prueba de posicionamiento de este elemento.

public:
 virtual event PointerEventHandler ^ PointerExited;
// Register
event_token PointerExited(PointerEventHandler const& handler) const;

// Revoke with event_token
void PointerExited(event_token const* cookie) const;

// Revoke with event_revoker
UIElement::PointerExited_revoker PointerExited(auto_revoke_t, PointerEventHandler const& handler) const;
public event PointerEventHandler PointerExited;
function onPointerExited(eventArgs) { /* Your code */ }
uIElement.addEventListener("pointerexited", onPointerExited);
uIElement.removeEventListener("pointerexited", onPointerExited);
- or -
uIElement.onpointerexited = onPointerExited;
Public Custom Event PointerExited As PointerEventHandler 
<uiElement PointerExited="eventhandler"/>

Tipo de evento

Comentarios

El PointerExited evento se desencadena en respuesta a un puntero que se encontraba inicialmente en el área de límite del elemento dejando ese área de límite. Las interacciones táctiles, del mouse y del lápiz/lápiz se reciben, procesan y administran como entrada de puntero en la aplicación. Cualquiera de estos dispositivos y sus interacciones pueden producir un PointerExited evento. Para obtener más información, consulta Controlar la entrada del puntero y los demás comentarios de este tema.

Use un controlador basado en PointerEventHandler para controlar este evento.

Para las acciones táctiles y también para los eventos específicos de interacción o manipulación que son consecuencias de una acción táctil, un elemento debe ser visible para las pruebas de contacto para poder ser la fuente del evento y activar el evento asociado a la acción. UIElement.Visibility debe ser Visible. Otras propiedades de tipos derivados también afectan a la visibilidad de las pruebas de posicionamiento. Para obtener más información, consulta Vista general de eventos y eventos enrutados.

PointerExited admite la capacidad de adjuntar controladores de eventos a la ruta que se invocará incluso si los datos del evento se marcan como Handled. Consulte AddHandler.

Es posible que los controles de Windows Runtime específicos tengan control basado en clases para el PointerExited evento de entrada. Si es así, es probable que el control tenga una invalidación para el método OnPointerExited. Normalmente, el evento no está marcado como controlado por el controlador de clases, por lo que el código de usuario puede seguir controlando el PointerExited evento para el control de la interfaz de usuario. Para obtener más información sobre cómo funciona el control basado en clases para eventos, consulta Información general sobre eventos y eventos enrutados.

Si otro elemento ha capturado el puntero, PointerExited no se activará incluso si el puntero capturado deja los límites de un elemento. Para obtener más información sobre la captura de puntero, consulta CapturePointer o Interacciones del mouse.

PunteroExited para la entrada de lápiz y lápiz y mouse

Un dispositivo de entrada del mouse tiene un cursor en pantalla que está visible cada vez que se mueve el mouse, incluso si no se presiona ningún botón del mouse en el momento. El comportamiento similar está disponible para la entrada del dispositivo de lápiz, donde los dispositivos de entrada pueden detectar que el lápiz se mantiene al mantener el puntero sobre la superficie del dispositivo de entrada (IsInRange), pero no tocarlo. La entrada del dispositivo del mouse y el lápiz desencadenarán PointerExited eventos en casos ligeramente diferentes que los eventos táctiles. Para obtener más información, consulta Interacciones del mouse. Un PointerExited evento se desencadena después del último evento PointerMoved para el elemento se desencadena.

PunteroExited para la entrada táctil

Un punto táctil solo se puede detectar si un dedo está tocando la superficie. Cada vez que una acción táctil da como resultado un evento PointerReleased , ese evento va seguido inmediatamente de un PointerExited evento, con todos los datos del evento siendo la misma información para los dos eventos (el mismo identificador de puntero, la misma posición, etc.). En otras palabras, el puntero se considera que entra en el elemento en el momento y la posición en que el elemento está tocado por un punto táctil.

Como alternativa, se generará PointerExited un punto táctil si ese puntero permanece en contacto constante con la superficie a medida que se mueve, se sobre el elemento inicialmente y, a continuación, sale de los límites de las pruebas de posicionamiento de un elemento. Para estos tipos de acciones táctiles, también es posible que la acción se pueda procesar como una manipulación, o como gesto, en lugar de un evento de puntero. Para obtener más información, consulta Handle pointer input (Controlar entrada de puntero).

Comportamiento del evento enrutado para PointerExited

PointerExited es un evento enrutado. Para obtener más información sobre el concepto de evento enrutado, consulta Información general sobre eventos y eventos enrutados. Puedes definir varios PointerExited eventos para los elementos de una interfaz de usuario XAML, incluidos los elementos que se encuentran en una relación de elementos primarios y secundarios. En una composición típica de la interfaz de usuario, los elementos secundarios están en algún lugar dentro de los límites de un elemento primario, por lo que el PointerExited evento se producirá primero para el elemento secundario cuando el puntero salga del elemento secundario y, a continuación, para el elemento primario cuando el puntero se mueva completamente fuera de ese elemento primario. Normalmente PointerExited , el evento no se propaga al elemento primario cuando el elemento secundario lo desencadena, ya que sería confuso para que el sistema de entrada enrute también la repetición del PointerExited evento al elemento primario. Normalmente, no desea PointerExited que los eventos se enruten de todos modos, solo quiere procesarlos desde el remitente. Puede evitar explícitamente el enrutamiento de eventos estableciendo Handled to true en el controlador.

En raras ocasiones, es posible ver una PointerExited burbuja de evento en el elemento primario. Por ejemplo, si ha usado un RenderTransform para desplazar un elemento secundario fuera de los límites de su elemento primario, el evento se propaga al elemento primario cuando se cierra el elemento secundario y proporciona la información del evento tal y como indica cómo el elemento secundario desencadenó el evento.

Estados visuales pointerOver para los controles

Los controles que tienen plantillas de control pueden aplicar estados visuales que están activos solo cuando un puntero está sobre los límites del control. No siempre es necesario controlar PointerEntered o PointerExited para obtener o cambiar este comportamiento. Es posible que tenga que volver a crear una plantilla del control. Si deriva de un control existente que ya tiene el control de entrada de bajo nivel que invoca los estados visuales, debe proporcionar un estado visual denominado "PointerOver" en el visualStateGroup "CommonStates" y la lógica de control integrada cargará ese estado visual cada vez que un puntero esté sobre el control. Un estado visual para el puntero a menudo está presente en los controles que se pueden invocar o seleccionar, como button oListViewItem. Si deriva de una clase base como Control que no tiene control de eventos de entrada integrado que invoca estados visuales, es posible que tenga que invalidar OnPointerEntered y OnPointerExited para obtener este comportamiento. Use OnPointerExited para llamar a GoToState para cargar un estado distinto del estado "PointerOver", por ejemplo" "Normal".

Se aplica a

Consulte también