Share via


UIElement.Holding Événement

Définition

Se produit lorsqu’une interaction de conservation non gérée se produit au-dessus de la zone de test d’accès de cet élément.

public:
 virtual event HoldingEventHandler ^ Holding;
// Register
event_token Holding(HoldingEventHandler const& handler) const;

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

// Revoke with event_revoker
UIElement::Holding_revoker Holding(auto_revoke_t, HoldingEventHandler const& handler) const;
public event HoldingEventHandler Holding;
function onHolding(eventArgs) { /* Your code */ }
uIElement.addEventListener("holding", onHolding);
uIElement.removeEventListener("holding", onHolding);
- or -
uIElement.onholding = onHolding;
Public Custom Event Holding As HoldingEventHandler 
<uiElement Holding="eventhandler"/>

Type d'événement

Remarques

L’interaction tactile peut produire une action De maintien , mais les appareils souris ne le peuvent généralement pas. Pour plus d’informations, consultez Gérer l’entrée de pointeur.

Les événements Tapped, DoubleTapped et RightTapped se produisent uniquement après la suppression du point tactile. Mais l’événement de conservation initiale se produit alors que le point tactile est toujours en contact. L’événement se produit si le point tactile reste à peu près à la même position PointerPoint pendant un certain temps. Le minutage exact de ce que le système interprète comme une action de conservation est réglable par les utilisateurs via les paramètres système.

La conservation est destinée à l’interface utilisateur d’information, mais pour les interactions telles que l’affichage d’un menu contextuel, vous devez utiliser RightTapped à la place. Vous pouvez gérer La conservation en premier pour afficher un indicateur indiquant qu’un menu apparaîtra, mais pour afficher le menu lui-même, utilisez un gestionnaire RightTapped . Pour plus d’informations sur l’utilisation d’une interaction dans votre conception d’application, consultez Instructions relatives à la conception d’interactions tactiles ou à l’expérience utilisateur pour les interactions utilisateur personnalisées.

Les événements de conservation se produisent généralement par paires. Lorsque l’action est interprétée pour la première fois comme une action d’attente basée sur l’absence de mouvement pendant une période donnée, La conservation se déclenche, avec la valeur HoldingStateStarted dans les données d’événement HoldingRoutedEventArgs . Lorsque l’action De conservation se termine, un autre événement de conservation se déclenche, cette fois avec HoldingStateterminé ou annulé.

  • L’action Maintenir se termine par HoldingState comme Terminé si l’utilisateur ne déplace pas le pointeur pendant l’état d’attente , puis libère les points de pointeur qui ont lancé l’action. Dans ce cas, RightTapped se déclenche juste après le deuxième événement Holding.

  • L’action Maintenir se termine par HoldingState comme Annulé si l’utilisateur déplace le ou les pointeurs à l’origine de l’action, ou également pour des situations inhabituelles telles que la modification du status de test d’accès sur l’élément pendant l’action ou la capture d’un autre pointeur. Si l’action Hold se termine par HoldingState comme Annulé, RightTapped ne se déclenche pas.

Un événement Holding représente un mouvement, tandis qu’un événement PointerPressed est un événement d’entrée de niveau inférieur. Les événements Holding et PointerPressed peuvent se déclencher à la suite d’une interaction utilisateur unique. Même si un contrôle gère déjà les événements de pointeur dans la logique de contrôle, ou qu’il gère les manipulations, cela n’empêche pas le déclenchement de La conservation.

Un événement Holding est potentiellement le résultat de plusieurs points pointeurs. Pour les événements de mouvement de niveau supérieur comme La conservation, vous n’avez plus d’accès immédiat aux détails de PointerPoint , tels que des valeurs PointerId individuelles ou des coordonnées individuelles. Vous avez accès au type d’appareil (PointerDeviceType) et pour les coordonnées, vous pouvez appeler GetPosition, qui donne une moyenne des coordonnées d’une conservation à partir de plusieurs points de pointeur.

La conservation est un événement routé. En outre, un élément doit avoir IsHoldingEnabled avoir la valeur true pour être une source d’événement Holding (true est la valeur par défaut). Il est possible de gérer la conservation sur les éléments parents même si IsHoldingEnabled a la valeur false sur l’élément parent, si l’événement est en bulles sur un parent à partir d’un élément enfant source d’événements où IsHoldingEnabled a la valeur false. Pour plus d’informations sur le concept d’événement routé, consultez Vue d’ensemble des événements et des événements routés.

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.

La conservation prend en charge la possibilité d’attacher des gestionnaires d’événements à l’itinéraire qui sera appelé même si les données d’événement 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 Holding. Dans ce cas, le contrôle a probablement un remplacement pour la méthode OnHolding. 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.

Tappped et Holding s’excluent mutuellement. Si l’action dépasse le seuil de temps pour être considérée comme une action d’attente , elle n’est pas considérée comme une action Appuyez également.

Chaque fois que La conservation se déclenche initialement, tant que l’élément prend en charge les événements de manipulation via une valeur ManipulationMode autre que celle par défaut, ManipulationStarting se déclenche également. Si le pointeur reste dans un emplacement suffisamment longtemps pour que la conservation soit détectée, mais par la suite, l’utilisateur déplace les points de pointeur associés à l’action Maintenir sans les relâcher (ce qui conduit à un autre événement De conservation avec HoldingState comme Annulé), d’autres événements de manipulation tels que ManipulationStarted et ManipulationDelta peuvent également se déclencher.

Maintien de la souris et du stylet/stylet

L’entrée de la souris ne génère pas d’événements de maintien par défaut, quelle que soit la durée pendant laquelle un bouton de la souris est enfoncé ou quel bouton est maintenu. Toutefois, les périphériques de souris et certains dispositifs de stylet peuvent déclencher RightTapped lorsqu’un bouton droit de la souris ou un équivalent est enfoncé et relâché.

Notes

Il existe un moyen de traiter les actions de la souris comme des actions de maintien si vous utilisez votre propre Propriété GestureRecognizer et que vous spécifiez HoldWithMouse dans les paramètres.

S’applique à

Voir aussi