Linguaggio

UIElement.PointerExited Evento

Definizione

Si verifica quando un puntatore lascia l'area di hit test di questo 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 evento

Commenti

L'evento PointerExited viene generato in risposta a un puntatore inizialmente nell'area di delimitazione dell'elemento lasciando tale area di delimitazione. Le interazioni tramite tocco, mouse e penna/stilo vengono ricevute, elaborate e gestite come input del puntatore nell'app. Uno di questi dispositivi e le relative interazioni possono produrre un PointerExited evento. Per altre info, vedi Gestire l'input del puntatore e le altre osservazioni in questo argomento.

Usare un gestore basato su PointerEventHandler per gestire questo evento.

Per le azioni di tocco e anche per gli eventi specifici dell'interazione o di manipolazione che sono conseguenze di un'azione di tocco, un elemento deve essere visibile al test di colpire per poter essere la sorgente dell'evento e generare l'evento associato all'azione. UIElement.Visibility deve essere Visibile. Anche altre proprietà dei tipi derivati influiscono sulla visibilità dei hit test. Per altre informazioni, vedi Panoramica degli eventi e degli eventi indirizzati.

PointerExited supporta la possibilità di collegare gestori eventi alla route che verrà richiamata anche se i dati dell'evento per l'evento sono contrassegnati come Handled. Vedere AddHandler.

Controlli Windows Runtime specifici possono avere una gestione basata su classi per l'evento PointerExited di input. In tal caso, il controllo ha probabilmente un override per il metodo OnPointerExited. In genere l'evento non viene contrassegnato come gestito dal gestore classi, quindi l'evento PointerExited può comunque essere gestito dal codice utente per il controllo nell'interfaccia utente. Per altre info sul funzionamento della gestione basata su classi per gli eventi, vedi Panoramica degli eventi e degli eventi indirizzati.

Se un altro elemento ha acquisito il puntatore, PointerExited non verrà generato anche se il puntatore acquisito lascia i limiti di un elemento. Per altre informazioni sull'acquisizione del puntatore, vedi CapturePointer o Interazioni del mouse.

PuntatoreExited per l'input di mouse e penna/stilo

Un dispositivo di input del mouse ha un cursore sullo schermo visibile ogni volta che il mouse si sposta, anche se non viene premuto alcun pulsante del mouse al momento. Un comportamento simile è disponibile per l'input penna del dispositivo, in cui i dispositivi di input possono rilevare che lo stilo sta passando il puntatore sopra la superficie del dispositivo di input (IsInRange) ma non toccandola. L'input del dispositivo mouse e penna genererà PointerExited quindi eventi in casi leggermente diversi rispetto agli eventi di tocco. Per altre info, vedi Interazioni del mouse. Un PointerExited evento viene generato dopo l'ultimo evento PointerMoved per l'elemento generato.

PuntatoreExited per l'input tocco

Un punto di tocco è rilevabile solo se un dito tocca la superficie. Ogni volta che un'azione tocco genera un evento PointerReleased , tale evento viene immediatamente seguito da un PointerExited evento, con tutti i dati dell'evento che corrispondono alle stesse informazioni per i due eventi (stesso ID puntatore, stessa posizione e così via). In altre parole, il puntatore viene considerato l'immissione dell'elemento nel momento e la posizione in cui l'elemento viene toccato da un punto di tocco.

In alternativa, un punto di tocco genererà PointerExited se il puntatore rimane in contatto costante con la superficie mentre si sposta, si trova inizialmente sull'elemento e quindi esce dai limiti di hit testing di un elemento. Per questi tipi di azioni di tocco è anche possibile che l'azione possa essere elaborata come manipolazione o come movimento, anziché come evento puntatore. Per altre info, vedi Gestire l'input del puntatore.

Comportamento dell'evento indirizzato per PointerExited

PointerExited è un evento indirizzato. Per altre info sul concetto di evento indirizzato, vedi Panoramica degli eventi e degli eventi indirizzati. Puoi definire più PointerExited eventi per gli elementi in un'interfaccia utente XAML, inclusi gli elementi che si trovano in una relazione padre-figlio. In una composizione tipica dell'interfaccia utente, gli elementi figlio si trovano in un punto all'interno dei limiti di un elemento padre, quindi l'evento PointerExited si verificherà per il figlio quando il puntatore si sposta all'esterno dell'elemento figlio e quindi per l'elemento padre quando il puntatore si sposta completamente all'esterno di tale elemento padre. L'evento PointerExited in genere non viene visualizzato all'elemento padre quando viene generato dall'elemento figlio, perché il sistema di input instrada l'occorrenza dell'evento PointerExited anche all'elemento padre. In genere non si vuole PointerExited che gli eventi vengano instradati comunque, è necessario elaborarli solo dal mittente. È possibile impedire in modo esplicito il routing degli eventi impostando Handled su true nel gestore.

In rari casi è possibile visualizzare una PointerExited bolla di evento nell'elemento padre. Se, ad esempio, è stato usato renderTransform per compensare un elemento figlio al di fuori dei limiti del relativo padre, l'evento si sposta all'elemento padre quando l'elemento figlio viene chiuso e fornisce le informazioni sull'evento come segnalato dal modo in cui l'elemento figlio ha generato l'evento.

Stati di visualizzazione PointerOver per i controlli

I controlli con modelli di controllo possono applicare stati di visualizzazione attivi solo quando un puntatore si trova sui limiti del controllo. Non è sempre necessario gestire PointerEntered o PointerExited per ottenere o modificare questo comportamento. Potrebbe essere necessario rielaborare il controllo. Se si deriva da un controllo esistente che dispone già della gestione di input di basso livello che richiama gli stati di visualizzazione, è necessario fornire uno stato di visualizzazione denominato "PointerOver" in " CommonStates" VisualStateGroup e la logica di controllo predefinita caricherà tale stato visivo ogni volta che un puntatore si trova sul controllo. Uno stato di visualizzazione per il puntatore è spesso presente nei controlli che possono essere richiamati o selezionati, ad esempio Button o ListViewItem. Se si deriva da una classe di base come Control che non dispone di una gestione degli eventi di input predefinita che richiama gli stati di visualizzazione, potrebbe essere necessario eseguire l'override di OnPointerEntered e OnPointerExited per ottenere questo comportamento. Usare OnPointerExited per chiamare GoToState per caricare uno stato diverso dallo stato "PointerOver", ad esempio "Normal".

Si applica a

Vedi anche