Share via


UIElement.PointerExited Kejadian

Definisi

Terjadi ketika pointer meninggalkan area uji hit dari elemen ini.

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

Jenis Acara

Keterangan

Peristiwa ini PointerExited diaktifkan sebagai respons terhadap penunjuk yang awalnya berada di area pembatas elemen meninggalkan area pembatas tersebut. Interaksi sentuhan, mouse, dan pena/stylus diterima, diproses, dan dikelola sebagai input pointer di aplikasi. Salah satu perangkat ini dan interaksinya dapat menghasilkan PointerExited peristiwa. Untuk informasi selengkapnya, lihat Menangani input penunjuk dan keterangan lainnya dalam topik ini.

Gunakan handler berdasarkan PointerEventHandler untuk menangani kejadian ini.

Untuk tindakan sentuhan dan juga untuk peristiwa khusus interaksi atau manipulasi yang merupakan konsekuensi dari tindakan sentuhan, elemen harus tes temuan yang terlihat agar menjadi sumber peristiwa dan menembakkan peristiwa yang terkait dengan tindakan. UIElement.Visibility harus Terlihat. Properti lain dari jenis turunan juga memengaruhi visibilitas hit-test. Untuk informasi selengkapnya, lihat Ringkasan peristiwa dan peristiwa yang dirutekan.

PointerExited mendukung kemampuan untuk melampirkan penanganan aktivitas ke rute yang akan dipanggil meskipun data peristiwa untuk peristiwa ditandai Ditangani. Lihat AddHandler.

Kontrol Windows Runtime tertentu mungkin memiliki penanganan berbasis kelas untuk PointerExited peristiwa input. Jika demikian, kontrol mungkin memiliki penimpaan untuk metode OnPointerExited. Biasanya peristiwa tidak ditandai ditangani oleh handler kelas, sehingga PointerExited peristiwa masih dapat ditangani oleh kode pengguna Anda untuk kontrol di UI Anda. Untuk informasi selengkapnya tentang cara kerja penanganan berbasis kelas untuk peristiwa, lihat Gambaran umum peristiwa dan peristiwa yang dirutekan.

Jika elemen lain telah menangkap penunjuk, PointerExited tidak akan menembak meskipun penunjuk yang ditangkap meninggalkan batas elemen. Untuk informasi selengkapnya tentang penangkapan penunjuk, lihat InteraksiCapturePointer atau Mouse.

PointerExited untuk input mouse dan pena/stylus

Perangkat input mouse memiliki kursor pada layar yang terlihat setiap kali mouse bergerak, bahkan jika tidak ada tombol mouse yang ditekan pada saat itu. Perilaku serupa tersedia untuk input perangkat pena, di mana perangkat input dapat mendeteksi bahwa stylus mengarah tepat di atas permukaan perangkat input (IsInRange) tetapi tidak menyentuhnya. Input mouse dan perangkat pena dengan demikian akan menembakkan PointerExited peristiwa dalam kasus yang sedikit berbeda dari peristiwa sentuhan. Untuk informasi selengkapnya, lihat Interaksi mouse. Peristiwa PointerExited diaktifkan setelah peristiwa PointerMoved terakhir untuk elemen diaktifkan.

PointerExited untuk input sentuhan

Titik sentuh hanya dapat dideteksi jika jari menyentuh permukaan. Setiap kali tindakan sentuh menghasilkan peristiwa PointerReleased , peristiwa tersebut segera diikuti oleh PointerExited peristiwa, dengan semua data peristiwa menjadi informasi yang sama untuk dua peristiwa (ID pointer yang sama, posisi yang sama, dan sebagainya.) Dengan kata lain penunjuk dianggap memasukkan elemen saat ini dan posisi elemen disentuh oleh titik sentuh.

Atau, titik sentuh akan menghasilkan PointerExited jika pointer tersebut tetap dalam kontak konstan dengan permukaan saat bergerak, berada di atas elemen pada awalnya, dan kemudian keluar dari batas pengujian hit dari elemen. Untuk tindakan sentuhan semacam ini, ada kemungkinan juga bahwa tindakan dapat diproses sebagai manipulasi, atau sebagai gerakan, bukan peristiwa pointer. Untuk informasi selengkapnya, lihat Menangani input penunjuk.

Perilaku peristiwa yang dirutekan untuk PointerExited

PointerExited adalah peristiwa yang dirutekan. Untuk informasi selengkapnya tentang konsep peristiwa yang dirutekan, lihat Gambaran umum peristiwa dan peristiwa yang dirutekan. Anda dapat menentukan beberapa PointerExited peristiwa untuk elemen dalam UI XAML, termasuk untuk elemen yang berada dalam hubungan induk-anak. Dalam komposisi UI yang khas, elemen anak berada di suatu tempat dalam batas elemen induk, sehingga PointerExited peristiwa pertama-tama akan terjadi untuk anak ketika pointer bergerak keluar dari anak, dan kemudian untuk induk ketika pointer bergerak sepenuhnya keluar dari induk itu. Peristiwa ini PointerExited biasanya tidak menggelembung ke induk ketika elemen anak menembakkannya, karena akan membingungkan bagi sistem input untuk merutekan PointerExited kejadian peristiwa ke induk juga. Biasanya Anda tidak ingin PointerExited peristiwa dirutekan, Anda hanya ingin memprosesnya dari pengirim. Anda dapat secara eksplisit mencegah perutean peristiwa dengan mengatur Ditangani ke true di handler Anda.

Dalam kasus yang jarang terjadi, Anda dapat melihat PointerExited gelembung peristiwa ke induk. Misalnya, jika Anda telah menggunakan RenderTransform untuk mengimbangi elemen anak di luar batas induknya, peristiwa akan muncul ke induk saat elemen anak keluar, dan memberikan info peristiwa seperti yang dilaporkan oleh bagaimana elemen anak menembakkan peristiwa tersebut.

Status visual PointerOver untuk kontrol

Kontrol yang memiliki templat kontrol dapat menerapkan status visual yang aktif hanya saat penunjuk melebihi batas kontrol. Anda tidak selalu perlu menangani PointerEntered atau PointerExited untuk mendapatkan atau mengubah perilaku ini. Anda mungkin perlu membuat templat ulang kontrol. Jika Anda berasal dari kontrol yang sudah ada yang sudah memiliki penanganan input tingkat rendah yang memanggil status visual, Anda harus memberikan status visual bernama "PointerOver" di VisualStateGroup "CommonStates", dan logika kontrol bawaan akan memuat status visual tersebut setiap kali penunjuk berada di atas kontrol. Status visual untuk pointer-over sering ada pada kontrol yang dapat dipanggil atau dipilih, seperti Tombol atau ListViewItem. Jika Anda berasal dari kelas dasar seperti Kontrol yang tidak memiliki penanganan peristiwa input bawaan yang memanggil status visual, Anda mungkin perlu mengambil alih OnPointerEntered dan OnPointerExited sendiri untuk mendapatkan perilaku ini. Gunakan OnPointerExited untuk memanggil GoToState untuk memuat status selain status "PointerOver", misalnya "Normal".

Berlaku untuk

Lihat juga