UIElement.PointerEntered Evento

Definición

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

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

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

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

Tipo de evento

Comentarios

El PointerEntered evento se desencadena en respuesta a un puntero que se mueve al área de límite del elemento. Las interacciones táctiles, del mouse y del lápiz o del 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 PointerEntered evento. Para obtener más información, vea Controlar la entrada del puntero y también los demás comentarios de este tema.

PointerEntered 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.

Use un controlador basado en PointerEventHandler para controlar este evento.

En el caso de las acciones táctiles y también de los eventos de manipulación o específicos de la interacción que son consecuencia de una acción táctil, un elemento debe ser visible en la prueba de acceso para poder ser origen de eventos y generar el evento que está asociado a la acción. UIElement.Visibility debe ser Visible. Otras propiedades de los tipos derivados también afectan a la visibilidad de las pruebas de posicionamiento. Para obtener más información, consulta Introducción a eventos y eventos enrutados.

PointerEntered 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.

Los controles Windows Runtime específicos pueden tener control basado en clases para el evento de entrada PointerEntered. Si es así, es probable que el control tenga una invalidación para el método OnPointerEntered. Normalmente, el evento no está marcado como controlado por el controlador de clases, por lo que el código de usuario todavía puede controlarlo PointerEntered para el control de la interfaz de usuario. Para obtener más información sobre cómo funciona el control basado en clases de eventos, consulte Información general sobre eventos y eventos enrutados.

PunteroEntrarEntrar para la entrada de lápiz y lápiz y lápiz

Un dispositivo de entrada del mouse tiene un cursor en pantalla que es visible cada vez que el mouse se mueve, incluso si no se presiona ningún botón del mouse en el momento. Un PointerEntered evento precederá al primer PointerMoved evento desencadenado por el elemento . Hay un comportamiento similar disponible para la entrada del dispositivo de lápiz, donde los dispositivos de entrada pueden detectar que el lápiz óptico mantiene el puntero sobre la superficie del dispositivo de entrada (IsInRange), pero no lo toca. Por lo tanto, la entrada del dispositivo del mouse y el lápiz activarán PointerEntered eventos en casos ligeramente diferentes de los eventos táctiles. Para obtener más información, consulta Interacciones de mouse.

PunteroEntrar 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 PointerPressed , ese evento va precedido inmediatamente por un PointerEntered evento, y todos los datos del evento son 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 se toca mediante un punto táctil.

Como alternativa, un punto táctil generará PointerEntered si un puntero permanece en contacto constante con la superficie a medida que se mueve y entra en los límites de prueba 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 Controlar la entrada del puntero.

Comportamiento del evento enrutado para PointerEntered

PointerEntered 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 PointerEntered 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 PointerEntered evento se producirá primero para el elemento primario cuando el puntero se mueva al elemento primario y, a continuación, para el elemento secundario cuando el puntero se mueva allí. Normalmente PointerEntered , el evento no se propaga al elemento primario cuando el elemento secundario lo desencadena, ya que conceptualmente el puntero ya está dentro de los límites primarios y sería confuso para que el sistema de entrada enrute también la PointerEntered repetición del evento al elemento primario. Normalmente, no desea PointerEntered que los eventos se enruten de todos modos, solo quiere procesarlos desde el remitente. Puede evitar explícitamente el enrutamiento de eventos estableciendo Handledtrue en en el controlador.

En raras ocasiones, es posible ver una PointerEntered burbuja de evento al 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 escribe el elemento secundario y proporciona la información del evento tal y como indica cómo el elemento secundario desencadenó el evento.

Captura de puntero

Si otro elemento ha capturado el puntero, PointerEntered no se activará aunque el puntero capturado entre los límites de un elemento. Sin embargo, si la captura de puntero se libera mientras el puntero está sobre el elemento, PointerEntered se activará, incluso pensará que el puntero podría haberse mantenido estacionario en este caso. El valor de GetCurrentPoint de los datos de eventos podría ser un punto en algún lugar del centro de un elemento en lugar de un punto a lo largo de sus bordes porque el puntero ya estaba sobre el elemento cuando se liberó la captura. Para obtener más información sobre la captura de puntero, consulta CapturePointer o Interacciones del mouse.

Estados visuales pointerOver para 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 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 través suele estar presente en los controles que se pueden invocar o seleccionar, como un Button o ListViewItem. 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.

Se aplica a

Consulte también