Partager via


UIElement.PointerEntered Événement

Définition

Se produit lorsqu’un pointeur entre dans la zone de test d’accès de cet élément.

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"/>

Type d'événement

Remarques

L’événement PointerEntered se déclenche en réponse à un pointeur se déplaçant dans la zone englobante de l’élément. Les interactions tactiles, souris et stylet/stylet sont reçues, traitées et gérées en tant qu’entrée de pointeur dans l’application. L’un de ces appareils et leurs interactions peuvent produire un PointerEntered événement. Pour plus d’informations, consultez Gérer l’entrée du pointeur et les autres remarques de cette rubrique.

PointerEntered est un événement routé. Pour plus d’informations sur le concept d’événement routé, consultez Vue d’ensemble des événements et des événements routés.

Utilisez un gestionnaire basé sur PointerEventHandler pour gérer cet événement.

Pour les actions tactiles et pour les événements de manipulation ou spécifiques à l’interaction qui sont des conséquences d’une action tactile, un élément doit être visible au test de positionnement pour pouvoir être la source d’événement et déclencher l’événement associé à l’action. UIElement.Visibility doit être Visible. D’autres propriétés de types dérivés affectent également la visibilité des tests de positionnement. Pour plus d’informations, consultez Vue d’ensemble des événements et des événements routés.

PointerEntered prend en charge la possibilité d’attacher des gestionnaires d’événements à l’itinéraire qui sera appelé même si les données de l’événement sont marquées Handled. Consultez AddHandler.

Des contrôles Windows Runtime spécifiques peuvent avoir une gestion basée sur des classes pour l’événement d’entrée PointerEntered. Dans ce cas, le contrôle a probablement un remplacement pour la méthode OnPointerEntered. En règle générale, l’événement n’est pas marqué comme étant géré par le gestionnaire de classe, l’événement PointerEntered peut toujours être géré par votre code utilisateur pour le contrôle dans votre interface utilisateur. Pour plus d’informations sur le fonctionnement de la gestion basée sur les classes des événements, consultez Vue d’ensemble des événements et des événements routés.

Pointeur Entré pour l’entrée de la souris et du stylet/stylet

Un périphérique d’entrée de souris a un curseur à l’écran qui est visible chaque fois que la souris se déplace, même si aucun bouton de la souris n’est enfoncé à ce moment-là. Un PointerEntered événement précède le premier PointerMoved événement déclenché par l’élément . Un comportement similaire est disponible pour l’entrée de périphérique de stylet, où les périphériques d’entrée peuvent détecter que le stylet pointe juste sur la surface du périphérique d’entrée (IsInRange), mais ne le touche pas. L’entrée de périphérique de la souris et du stylet déclenche PointerEntered donc des événements dans des cas légèrement différents de ceux des événements tactiles. Pour plus d’informations, voir Interactions avec la souris.

Pointeur Entré pour l’entrée tactile

Un point tactile n’est détectable que si un doigt touche la surface. Chaque fois qu’une action tactile génère un événement PointerPressed , cet événement est immédiatement précédé d’un PointerEntered événement, toutes les données d’événement étant les mêmes informations pour les deux événements (même ID de pointeur, même position, etc.). En d’autres termes, le pointeur est considéré comme entrant dans l’élément au moment et à la position où l’élément est touché par un point tactile.

Un point tactile est également généré PointerEntered si un pointeur reste en contact constant avec la surface à mesure qu’il se déplace et entre dans les limites de test de positionnement d’un élément. Pour ces types d’actions tactiles, il est également possible que l’action soit traitée comme une manipulation, ou comme un mouvement, plutôt qu’un événement de pointeur. Pour plus d’informations, consultez Gérer l’entrée de pointeur.

Comportement des événements routés pour PointerEntered

PointerEntered est un événement routé. Pour plus d’informations sur le concept d’événement routé, consultez Vue d’ensemble des événements et des événements routés. Vous pouvez définir plusieurs PointerEntered événements pour les éléments d’une interface utilisateur XAML, y compris pour les éléments qui se trouvent dans une relation parent-enfant. Dans une composition d’interface utilisateur classique, les éléments enfants se trouvent quelque part dans les limites d’un élément parent, de sorte que l’événement PointerEntered se produit d’abord pour le parent lorsque le pointeur se déplace vers le parent, puis pour l’enfant lorsque le pointeur s’y déplace. L’événement PointerEntered n’est généralement pas en bulle sur le parent lorsque l’élément enfant le déclenche, car conceptuellement, le pointeur se trouve déjà dans les limites parentes et il serait confus pour le système d’entrée de router également l’occurrence de l’événement PointerEntered vers le parent. En règle générale, vous ne souhaitez pas que PointerEntered les événements soient acheminés de toute façon, vous souhaitez les traiter uniquement à partir de l’expéditeur. Vous pouvez explicitement empêcher le routage des événements en définissant Handled sur true dans votre gestionnaire.

Dans de rares cas, il est possible de voir une bulle d’événement PointerEntered sur le parent. Par exemple, si vous avez utilisé un RenderTransform pour décaler un élément enfant en dehors des limites de son parent, l’événement est en bulles sur le parent lorsque l’élément enfant est entré et donne les informations sur l’événement comme indiqué par la façon dont l’élément enfant a déclenché l’événement.

Capture de pointeur

Si un autre élément a capturé le pointeur, PointerEntered ne se déclenche pas même si le pointeur capturé entre dans les limites d’un élément. Toutefois, si la capture de pointeur est relâchée alors que le pointeur se trouve au-dessus de l’élément, PointerEntered se déclenche, même si le pointeur est resté stationnaire dans ce cas. La valeur de GetCurrentPoint à partir des données d’événement peut être un point quelque part au milieu d’un élément plutôt qu’un point le long de ses bords, car le pointeur était déjà au-dessus de l’élément lors de la libération de la capture. Pour plus d’informations sur la capture de pointeur, consultez Interactions avec CapturePointer ou souris.

États visuels PointerOver pour les contrôles

Les contrôles qui ont des modèles de contrôle peuvent appliquer des états visuels qui sont actifs uniquement lorsqu’un pointeur se trouve au-dessus des limites du contrôle. Vous n’avez pas toujours besoin de gérer PointerEntered ou pointerExited pour obtenir ou modifier ce comportement. Vous devrez peut-être re-modèler le contrôle. Si vous dérivez d’un contrôle existant qui a déjà la gestion des entrées de bas niveau qui appelle des états visuels, vous devez fournir un état visuel nommé « PointerOver » dans le VisualStates « CommonStates » VisualStateGroup, et la logique de contrôle intégrée charge cet état visuel chaque fois qu’un pointeur se trouve sur le contrôle. Un état visuel pour le pointeur vers le dessus est souvent présent sur les contrôles qui peuvent être appelés ou sélectionnés, comme un Objet Button ou ListViewItem. Si vous dérivez d’une classe de base comme Control qui n’a pas de gestion des événements d’entrée intégrée qui appelle des états visuels, vous devrez peut-être remplacer OnPointerEntered et OnPointerExited vous-même pour obtenir ce comportement.

S’applique à

Voir aussi