UIElement.PointerPressed Événement
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Se produit lorsque l’appareil pointeur lance une action Appuyer dans cet élément.
public:
virtual event PointerEventHandler ^ PointerPressed;
// Register
event_token PointerPressed(PointerEventHandler const& handler) const;
// Revoke with event_token
void PointerPressed(event_token const* cookie) const;
// Revoke with event_revoker
UIElement::PointerPressed_revoker PointerPressed(auto_revoke_t, PointerEventHandler const& handler) const;
public event PointerEventHandler PointerPressed;
function onPointerPressed(eventArgs) { /* Your code */ }
uIElement.addEventListener("pointerpressed", onPointerPressed);
uIElement.removeEventListener("pointerpressed", onPointerPressed);
- or -
uIElement.onpointerpressed = onPointerPressed;
Public Custom Event PointerPressed As PointerEventHandler
<uiElement PointerPressed="eventhandler"/>
Type d'événement
Remarques
Les interactions tactiles, souris et stylet/stylet sont reçues, traitées et gérées en tant qu’entrée de pointeur dans une application. L’une de ces interactions peut produire un PointerPressed
événement. Pour plus d’informations, consultez Gérer l’entrée de pointeur. Les événements de pointeur sont destinés aux scénarios où vous êtes intéressé par plusieurs pointeurs et leurs relations, ou lorsque vous examinez des spécificités de chaque pointeur, telles que la position exacte des coordonnées. Sinon, vous pouvez envisager de gérer des événements de mouvement tels que Tapped.
Utilisez un gestionnaire basé sur PointerEventHandler pour gérer cet événement.
L’entrée de la souris est associée à un seul pointeur affecté lors de la première détection de l’entrée de la souris. Cliquer sur un bouton de la souris (gauche, roulette ou droite) crée une association secondaire entre le pointeur et ce bouton via l’événement PointerPressed
. L’événement PointerReleased est déclenché uniquement lorsque ce même bouton de souris est relâché (aucun autre bouton ne peut être associé au pointeur tant que cet événement n’est pas terminé). En raison de cette association exclusive, les autres clics de bouton de souris sont routés via l’événement PointerMoved. Vous pouvez tester l’état du bouton de la souris lors de la gestion de cet événement, comme illustré dans l’exemple suivant.
Les événements de pointeur d’un périphérique d’entrée de souris ont généralement le même PointerId dans les détails de l’événement pour la durée de vie de l’application.
PointerPressed
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.
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.
PointerPressed
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éePointerPressed
. Dans ce cas, le contrôle a probablement un remplacement pour la méthode OnPointerPressed. En règle générale, l’événement est marqué comme géré par le gestionnaire de classe, et l’événement PointerPressed
n’est pas déclenché pour être géré par des gestionnaires de code utilisateur sur ce contrôle. Par exemple, ButtonBase a une gestion de classe qui gère PointerPressed
et déclenche à la place Click. 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.
Les contrôles peuvent également avoir une animation de personnalité PointerDownThemeAnimation qui s’exécute indépendamment de l’événement.
Capture de pointeur
PointerPressed
est parfois utilisé comme événement de lancement lors de la capture du pointeur, afin que d’autres événements liés au pointeur soient tous capturés par un élément particulier tant que le pointeur reste vers le bas. Pour capturer un pointeur, vous appelez la méthode CapturePointer sur un élément d’interface utilisateur spécifique qui doit gérer la capture. Cela se fait généralement dans un gestionnaire d’événements PointerPressed
, et vous appelez CapturePointer
sur l’événement sender
. Pour plus d’informations sur la capture d’un pointeur et la raison pour laquelle vous pouvez le faire, consultez CapturePointer
.
Événements PointerPressed et de mouvement, ou événements de manipulation
L’action de l’utilisateur qui déclenche initialement un PointerPressed
événement peut finalement entraîner l’événement De maintien représentant un mouvement de maintien , sauf si le périphérique d’entrée est une souris. Si l’élément où PointerPressed
se produit a une valeur ManipulationMode autre que celle par défaut, l’action peut également entraîner différents événements de manipulation comme ManipulationStarted. Pour plus d’informations, consultez la section « Utilisation des événements de manipulation » dans Gérer l’entrée du pointeur.
Lors PointerPressed
des déclenchements, les événements de mouvement tels que Tapped ne se déclenchent pas encore, car les événements de mouvement autres que La conservation attendent que le pointeur soit libéré avant de déclencher un événement.
En tant que règle de conception générale pour les interactions utilisateur de votre application, vous devez examiner s’il existe des événements spécifiques au contrôle que vous pouvez gérer pour une interaction, ou des événements de mouvement appropriés. Par exemple, si votre contrôle est un Bouton, ce contrôle a un événement Click qui est spécifiquement destiné lorsque l’utilisateur appelle l’action du bouton. Ou si votre élément n’est pas un bouton, mais que vous gérez et l’événement pour l’action principale d’un élément, vous devez gérer Tapped.
Les événements de mouvement peuvent être spécifiquement désactivés sur des éléments individuels en définissant des propriétés telles que IsTapEnabled. Vous pouvez désactiver les événements de mouvement si vous traitez des manipulations, mais vous n’avez généralement pas besoin de désactiver les événements de mouvement si vous gérez les événements de pointeur. Les événements de pointeur ne peuvent pas être spécifiquement désactivés, mais vous pouvez choisir de ne pas les gérer.
PointerPressed et PointerReleased
D’autres événements au lieu de PointerReleased peuvent se déclencher à la fin de l’action, par exemple PointerCanceled ou PointerCaptureLost. Ne vous fiez pas aux PointerPressed
événements et PointerReleased
qui se produisent toujours par paires. Pour fonctionner correctement, votre application doit écouter et gérer tous les événements qui représentent les conclusions probables de l’action Presse . Voici quelques-unes des raisons pour lesquelles vous n’obtenez peut-être pas d’occurrence PointerReleased
:
- Différences dans la façon dont un matériel spécifique gère les actions tactiles et les actions d’appui
- Capture de pointeur programmatique à partir d’un autre pointeur
- Actions de l’utilisateur qui modifient la relation de la zone d’affichage, telles que la modification des paramètres de résolution ou de surveillance
- Interactions d’entrée telles qu’un stylet touchant la même surface qu’une action tactile précédente