Share via


UIElement.PointerPressed Kejadian

Definisi

Terjadi ketika perangkat penunjuk memulai tindakan Tekan dalam elemen ini.

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

Jenis Acara

Keterangan

Interaksi sentuhan, mouse, dan pena/stylus diterima, diproses, dan dikelola sebagai input penunjuk di aplikasi. Salah satu interaksi ini dapat menghasilkan PointerPressed peristiwa. Untuk informasi selengkapnya, lihat Menangani input penunjuk. Peristiwa pointer ditujukan untuk skenario di mana Anda tertarik dengan beberapa pointer dan hubungannya, atau ketika Anda memeriksa spesifik setiap pointer seperti posisi koordinat yang tepat. Jika tidak, Anda mungkin mempertimbangkan untuk menangani peristiwa gerakan seperti Diketuk.

Gunakan handler berdasarkan PointerEventHandler untuk menangani kejadian ini.

Input mouse dikaitkan dengan satu penunjuk yang ditetapkan ketika input mouse pertama kali terdeteksi. Mengklik tombol mouse (kiri, roda, atau kanan) membuat hubungan sekunder antara penunjuk dan tombol tersebut PointerPressed melalui peristiwa. Peristiwa PointerReleased diaktifkan hanya ketika tombol mouse yang sama dilepaskan (tidak ada tombol lain yang dapat dikaitkan dengan penunjuk hingga peristiwa ini selesai). Karena asosiasi eksklusif ini, klik tombol mouse lainnya dirutekan melalui peristiwa PointerMoved . Anda dapat menguji status tombol mouse saat menangani peristiwa ini, seperti yang ditunjukkan dalam contoh berikut.

Peristiwa penunjuk dari perangkat input mouse umumnya memiliki PointerId yang sama dalam detail peristiwa selama masa pakai aplikasi.

PointerPressed adalah peristiwa yang dirutekan. Untuk informasi selengkapnya tentang konsep peristiwa yang dirutekan, lihat Gambaran umum peristiwa dan peristiwa yang dirutekan.

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.

PointerPressed 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 PointerPressed peristiwa input. Jika demikian, kontrol mungkin memiliki penimpaan untuk metode OnPointerPressed. Biasanya peristiwa ditandai ditangani oleh handler kelas, dan PointerPressed peristiwa tidak dinaikkan untuk ditangani oleh penangan kode pengguna apa pun pada kontrol tersebut. Misalnya, ButtonBase memiliki penanganan kelas yang menangani PointerPressed dan sebaliknya mengaktifkan Klik. Untuk informasi selengkapnya tentang cara kerja penanganan berbasis kelas untuk peristiwa, lihat Gambaran umum peristiwa dan peristiwa yang dirutekan.

Kontrol mungkin juga memiliki animasi kepribadian PointerDownThemeAnimation yang berjalan secara independen dari acara.

Penunjuk mengambil

PointerPressed terkadang digunakan sebagai peristiwa yang memulai saat menangkap pointer, sehingga peristiwa terkait pointer lebih lanjut semuanya ditangkap oleh elemen tertentu selama pointer tetap tidak berfungsi. Untuk mengambil penunjuk, Anda memanggil metode CapturePointer pada elemen UI tertentu yang harus mempertahankan pengambilan. Ini biasanya dilakukan dalam PointerPressed penanganan aktivitas, dan Anda memanggil CapturePointer pada acara sender. Untuk informasi selengkapnya tentang cara mengambil pointer dan mengapa Anda mungkin ingin melakukannya, lihat CapturePointer.

Peristiwa pointerPressed dan gerakan, atau peristiwa manipulasi

Tindakan pengguna yang mengaktifkan PointerPressed peristiwa pada awalnya pada akhirnya dapat mengakibatkan peristiwa Holding mewakili gerakan Tahan , kecuali perangkat input adalah mouse. Jika elemen tempat PointerPressed terjadi memiliki nilai ManipulationMode non-default, maka tindakan juga dapat mengakibatkan berbagai peristiwa manipulasi seperti ManipulationStarted. Untuk informasi selengkapnya, lihat bagian "Menggunakan peristiwa manipulasi" di Menangani input penunjuk.

Saat PointerPressed diaktifkan, peristiwa gerakan seperti Diketuk belum akan diaktifkan karena peristiwa gerakan selain Holding menunggu pointer dilepaskan sebelum menembakkan peristiwa.

Sebagai aturan desain umum untuk interaksi pengguna aplikasi, Anda harus memeriksa apakah ada peristiwa khusus kontrol yang dapat Anda tangani untuk interaksi, atau peristiwa gerakan yang sesuai. Misalnya, jika kontrol Anda adalah Tombol, kontrol tersebut memiliki peristiwa Klik yang secara khusus ditujukan saat pengguna memanggil tindakan tombol. Atau jika elemen Anda bukan tombol tetapi Anda menangani dan peristiwa untuk tindakan utama elemen, Anda akan menangani Diketuk.

Peristiwa gerakan dapat dinonaktifkan secara khusus pada elemen individual dengan mengatur properti seperti IsTapEnabled. Anda mungkin menonaktifkan peristiwa gerakan jika Anda memproses manipulasi, tetapi Anda biasanya tidak perlu menonaktifkan peristiwa gerakan jika Anda menangani peristiwa pointer. Peristiwa penunjuk tidak dapat dinonaktifkan secara khusus, tetapi Anda dapat memilih untuk tidak menanganinya.

PointerPressed dan PointerReleased

Peristiwa lain alih-alih PointerReleased dapat diaktifkan di akhir tindakan— misalnya, PointerCanceled atau PointerCaptureLost. Jangan mengandalkan PointerPressed dan PointerReleased peristiwa selalu terjadi berpasangan. Agar berfungsi dengan baik, aplikasi Anda harus mendengarkan dan menangani semua peristiwa yang mungkin mewakili kesimpulan tindakan Tekan . Beberapa alasan mengapa Anda mungkin tidak mendapatkan PointerReleased kemunculan adalah:

  • Perbedaan cara perangkat keras tertentu menangani tindakan sentuh dan tindakan Tekan
  • Penunjuk terprogram mengambil dari penunjuk yang berbeda
  • Tindakan pengguna yang mengubah hubungan area tampilan, seperti mengubah resolusi atau memantau pengaturan
  • Interaksi input seperti stylus menyentuh permukaan yang sama dengan tindakan sentuhan sebelumnya

Berlaku untuk

Lihat juga