UIElement.Holding Kejadian
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Terjadi ketika interaksi Hold yang tidak tertangani terjadi di atas area pengujian hit elemen ini.
public:
virtual event HoldingEventHandler ^ Holding;
// Register
event_token Holding(HoldingEventHandler const& handler) const;
// Revoke with event_token
void Holding(event_token const* cookie) const;
// Revoke with event_revoker
UIElement::Holding_revoker Holding(auto_revoke_t, HoldingEventHandler const& handler) const;
public event HoldingEventHandler Holding;
function onHolding(eventArgs) { /* Your code */ }
uIElement.addEventListener("holding", onHolding);
uIElement.removeEventListener("holding", onHolding);
- or -
uIElement.onholding = onHolding;
Public Custom Event Holding As HoldingEventHandler
<uiElement Holding="eventhandler"/>
Jenis Acara
Keterangan
Sentuhan dapat menghasilkan tindakan Penahanan , tetapi perangkat mouse umumnya tidak dapat. Untuk informasi selengkapnya, lihat Menangani input penunjuk.
Peristiwa Tapped, DoubleTapped, dan RightTapped hanya terjadi setelah titik sentuh dihapus. Tetapi peristiwa Holding awal terjadi saat titik sentuh masih bersentuhan. Peristiwa terjadi jika titik sentuh tetap berada di posisi PointerPoint yang kira-kira sama untuk jangka waktu tertentu. Waktu yang tepat dari apa yang ditafsirkan sistem sebagai tindakan penahanan dapat disesuaikan oleh pengguna melalui pengaturan sistem.
Penahanan ditujukan untuk antarmuka pengguna informasi, tetapi untuk interaksi seperti menampilkan menu konteks, Anda harus menggunakan RightTapped sebagai gantinya. Anda mungkin menangani Holding terlebih dahulu untuk menampilkan petunjuk bahwa menu akan muncul, tetapi untuk menampilkan menu itu sendiri, gunakan handler RightTapped . Lihat Desain interaksi sentuh atau panduan UX untuk interaksi pengguna kustom untuk informasi selengkapnya tentang cara menggunakan interaksi Penangguhan dalam desain aplikasi Anda.
Mengadakan peristiwa umumnya terjadi secara berpasangan. Ketika tindakan pertama kali ditafsirkan sebagai tindakan Tahan berdasarkan tidak ada pergerakan untuk jangka waktu tertentu, Holding menembak, dengan nilai HoldingStatedimulai dalam data peristiwa HoldingRoutedEventArgs . Ketika tindakan Penangguhan berakhir, peristiwa Holding lain diaktifkan, kali ini dengan HoldingStateselesai atau Dibatalkan.
Tindakan Penangguhan diakhiri dengan HoldingState sebagai Selesai jika pengguna tidak memindahkan penunjuk selama status Penangguhan lalu melepaskan titik penunjuk yang memulai tindakan. Untuk kasus ini, RightTapped diaktifkan tepat setelah peristiwa Holding kedua.
Tindakan Penangguhan diakhiri dengan HoldingState sebagai Dibatalkan jika pengguna memindahkan penunjuk yang memulai tindakan, atau juga untuk situasi yang tidak biasa seperti mengubah status uji hit pada elemen selama tindakan atau menangkap penunjuk lain. Jika tindakan Penangguhan berakhir dengan HoldingState sebagai Dibatalkan, RightTapped tidak akan diaktifkan.
Peristiwa Holding mewakili gerakan, sedangkan peristiwa PointerPressed adalah peristiwa input tingkat yang lebih rendah. Peristiwa Holding dan PointerPressed dapat diaktifkan sebagai hasil dari interaksi pengguna tunggal. Bahkan jika kontrol sudah menangani peristiwa pointer dalam logika kontrol, atau menangani manipulasi, itu tidak mencegah Holding menembak.
Kejadian Holding berpotensi menghasilkan lebih dari satu titik pointer. Untuk peristiwa gerakan tingkat lebih tinggi seperti Menahan Anda tidak lagi memiliki akses langsung ke detail PointerPoint seperti nilai PointerId individual atau koordinat individual. Anda memang memiliki akses ke jenis perangkat (PointerDeviceType) dan untuk koordinat Anda dapat memanggil GetPosition, yang memberikan rata-rata koordinat untuk Penangguhan dari lebih dari satu titik pointer.
Holding adalah peristiwa yang dirutekan. Selain itu, elemen harus memiliki IsHoldingEnabledbenar untuk menjadi sumber peristiwa Holding (benar adalah default). Dimungkinkan untuk menangani Holding pada elemen induk bahkan jika IsHoldingEnabledsalah pada elemen induk, jika peristiwa gelembung ke induk dari elemen anak sumber peristiwa di mana IsHoldingEnabledsalah. 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 di-hit-test agar dapat menjadi sumber peristiwa dan mengaktifkan peristiwa yang terkait dengan tindakan. UIElement.Visibility harus Terlihat. Properti lain dari jenis turunan juga memengaruhi visibilitas hit-test. Untuk informasi selengkapnya, lihat Gambaran umum peristiwa dan peristiwa yang dirutekan.
Penangguhan 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 peristiwa Holding. Jika demikian, kontrol mungkin memiliki penimpaan untuk metode OnHolding. Untuk informasi selengkapnya tentang cara kerja penanganan berbasis kelas untuk peristiwa, lihat Gambaran umum peristiwa dan peristiwa yang dirutekan.
Disadap dan Ditahan saling eksklusif. Jika tindakan melewati ambang waktu untuk dianggap sebagai tindakan Tahan , tindakan tersebut tidak dianggap sebagai tindakan Ketuk juga.
Setiap kali Holding menembak pada awalnya, selama elemen mendukung peristiwa manipulasi melalui nilai ManipulationMode non-default, ManipulationStarting juga diaktifkan. Jika titik penunjuk tetap berada di satu tempat yang cukup lama agar Holding terdeteksi, tetapi setelah itu pengguna memindahkan titik penunjuk yang terkait dengan tindakan Tahan tanpa melepaskannya (mengarah ke acara Holding lain dengan HoldingState sebagai Dibatalkan), maka peristiwa manipulasi lain seperti ManipulationStarted dan ManipulationDelta juga dapat diaktifkan.
Menahan input mouse dan pena/stylus
Input mouse tidak menghasilkan peristiwa Holding secara default, tidak peduli berapa lama tombol mouse ditahan, atau tombol mana yang ditahan. Namun, perangkat mouse dan beberapa perangkat pena dapat mengaktifkan RightTapped ketika tombol kanan mouse atau setara ditekan dan dilepaskan.
Catatan
Ada cara untuk memperlakukan tindakan mouse sebagai tindakan penahanan jika Anda menggunakan GestureRecognizer Anda sendiri dan menentukan HoldWithMouse dalam pengaturan.