Condividi tramite


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 limite. Le interazioni tocco, mouse e penna/stilo vengono ricevute, elaborate e gestite come input puntatore nell'app. Uno di questi dispositivi e le relative interazioni possono produrre un PointerExited evento. Per altre informazioni, vedere 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 tocco e per gli eventi di modifica o specifici dell'interazione che sono la conseguenza di un'azione tocco, un elemento deve essere visibile tramite hit testing per poter essere l'origine dell'evento e attivare l'evento associato all'azione. UIElement.Visibility deve essere visibile. Altre proprietà dei tipi derivati influiscono anche sulla visibilità di 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.

I controlli specifici Windows Runtime possono avere la gestione basata sulla classe 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 della classe, pertanto l'evento PointerExited può comunque essere gestito dal codice utente per il controllo nell'interfaccia utente. Per altre informazioni sulla gestione basata sulla classe per gli eventi, vedere 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, vedere AcquisizionePointer o Interazioni del mouse.

PuntatoreExited per l'input del 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. Il comportamento simile è disponibile per l'input del dispositivo penna, in cui i dispositivi di input possono rilevare che lo stilo sta passando il puntatore del mouse sulla superficie del dispositivo di input (IsInRange) ma non toccandolo. L'input del dispositivo mouse e penna genera quindi PointerExited eventi in casi leggermente diversi rispetto agli eventi di tocco. Per altre info, vedi Interazioni tramite 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 (lo stesso ID puntatore, la stessa posizione e così via). In altre parole, il puntatore viene considerato come immettere l'elemento al momento e posizionare che l'elemento viene toccato da un punto di tocco.

In alternativa, un punto di tocco genererà PointerExited se tale puntatore rimane in contatto costante con la superficie mentre si sposta, era sopra l'elemento inizialmente e quindi chiude i 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 gesto, anziché un evento puntatore. Per altre informazioni, vedere Gestire l'input del puntatore.

Comportamento dell'evento instradato per PointerExited

PointerExited è un evento instradato. Per altre informazioni sul concetto di evento indirizzato, vedere Panoramica degli eventi e degli eventi indirizzati. È possibile definire più PointerExited eventi per gli elementi in un'interfaccia utente XAML, tra cui per gli elementi che si trovano in una relazione padre-figlio. In una composizione tipica dell'interfaccia utente, gli elementi figlio si trovano all'interno dei limiti di un elemento padre, quindi l'evento PointerExited si verificherà prima per il figlio quando il puntatore si sposta fuori dal figlio e quindi per l'elemento padre quando il puntatore si sposta completamente dall'elemento padre. L'evento PointerExited non viene in genere bollato all'elemento padre quando l'elemento figlio lo attiva, perché sarebbe confusione per il sistema di input instradare anche l'occorrenza PointerExited dell'evento all'elemento padre. In genere non si vuole PointerExited instradare gli eventi, è 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 all'elemento padre. Ad esempio, se è stato usato un RenderingTransform per compensare un elemento figlio al di fuori dei limiti del relativo padre, le bolle di evento all'elemento padre quando l'elemento figlio viene chiuso e fornisce le informazioni sull'evento come segnalato dall'elemento figlio generato dall'evento.

Stati visivi PointerOver per i controlli

I controlli con modelli di controllo possono applicare gli stati visivi attivi solo quando un puntatore supera i limiti del controllo. Non è sempre necessario gestire Puntatore Immesso 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 visivi, è necessario fornire uno stato visivo denominato "PointerOver" in "CommonStates" VisualStateGroup e la logica di controllo predefinita caricherà lo stato visivo ogni volta che un puntatore è sul controllo. Lo stato visivo 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 ha una gestione degli eventi di input predefinita che richiama gli stati visivi, 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