RoutedEvent Kelas
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.
Mewakili peristiwa yang dirutekan ke sistem peristiwa Windows Runtime.
public ref class RoutedEvent sealed
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class RoutedEvent final
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
class RoutedEvent final
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class RoutedEvent
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
public sealed class RoutedEvent
Public NotInheritable Class RoutedEvent
- Warisan
- Atribut
Persyaratan Windows
Rangkaian perangkat |
Windows 10 (diperkenalkan dalam 10.0.10240.0)
|
API contract |
Windows.Foundation.UniversalApiContract (diperkenalkan dalam v1.0)
|
Contoh
Contoh ini menunjukkan sintaks dasar untuk menghubungkan penanganan aktivitas dengan AddHandler dan handledEventsToo sebagai true. Dalam hal ini peristiwa yang sedang dikabeli diketuk, dan pengidentifikasi jenis RoutedEvent yang digunakan dalam contoh adalah TappedEvent. Tempat umum untuk penanganan kabel dimuat untuk halaman atau OnApplyTemplate untuk kontrol bertemplat .
void MainPage::pageRoot_Tapped(Platform::Object^ sender, Windows::UI::Xaml::Input::TappedRoutedEventArgs^ e)
{
//implementation
}
void MainPage::pageRoot_Loaded(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e)
{
this->AddHandler(UIElement::TappedEvent, ref new TappedEventHandler(this, &MainPage::pageRoot_Tapped), true);
}
private void pageRoot_Tapped(object sender, TappedRoutedEventArgs e)
{
//implementation
}
private void pageRoot_Loaded_1(object sender, RoutedEventArgs e)
{
this.AddHandler(UIElement.TappedEvent, new TappedEventHandler(pageRoot_Tapped), true);
}
Private Sub Page_Tapped(sender As Object, e As TappedRoutedEventArgs)
' implementation
End Sub
Private Sub Page_Loaded_1(sender As Object, e As RoutedEventArgs)
Me.AddHandler(UIElement.TappedEvent, New TappedEventHandler(AddressOf Page_Tapped), True)
End Sub
Keterangan
Catatan
Sistem peristiwa Windows Runtime tidak memungkinkan Anda membuat peristiwa rute kustom; hanya Windows Runtime itu sendiri yang dapat menentukan peristiwa sehingga memiliki perilaku peristiwa yang dirutekan.
Untuk informasi selengkapnya tentang cara kerja peristiwa yang dirutekan, lihat Gambaran umum peristiwa dan peristiwa yang dirutekan. Jenis RoutedEvent adalah bagian dari infrastruktur untuk peristiwa yang dirutekan, tetapi Anda tidak menggunakan RoutedEvent langsung dalam pemrograman aplikasi Windows Runtime umum.
Tujuan dari jenis RoutedEvent adalah untuk berfungsi sebagai pengidentifikasi untuk sistem peristiwa Windows Runtime, mirip dengan bagaimana DependencyProperty menyediakan jenis pengidentifikasi untuk sistem properti dependensi. UIElement mencakup beberapa properti baca-saja statis dari jenis RoutedEvent, yang dinamai menggunakan pola penamaan. Setiap properti RoutedEvent dinamai sesuai dengan peristiwa ditambah akhiran "Peristiwa". Setiap properti tersebut adalah pengidentifikasi untuk peristiwa yang dirutekan yang namanya dimulai. Misalnya, TappedEvent mengidentifikasi peristiwa yang dirutekan yang diketuk ke sistem peristiwa.
Untuk sebagian besar penggunaan kode aplikasi, cukup mereferensikan peristiwa berdasarkan nama di XAML atau dengan nama entitas kodenya dalam kode adalah semua yang diperlukan untuk mereferensikan peristiwa pada objek, untuk tujuan menambahkan atau menghapus penangan. Pengidentifikasi RoutedEvent hanya diperlukan saat Anda melampirkan handler yang harus dipanggil bahkan ketika peristiwa yang dirutekan sebelumnya ditandai sebagai ditangani oleh sistem atau kode aplikasi. API yang Anda gunakan untuk skenario ini, dan API yang menggunakan nilai RoutedEvent sebagai parameter, adalah UIElement.AddHandler dan UIElement.RemoveHandler. Untuk informasi selengkapnya, lihat Ringkasan peristiwa dan peristiwa yang dirutekan.
Peristiwa yang menggunakan pengidentifikasi RoutedEvent
Berikut adalah daftar peristiwa yang dirutekan yang memiliki pengidentifikasi RoutedEvent dan dengan demikian dapat menggunakan teknik UIElement.AddHandler yang kami jelaskan:
- DoubleTapped
- DragEnter
- SeretLeave
- SeretOver
- Drop
- Memegang
- KeyDown
- KeyUp
- ManipulationCompleted
- ManipulationDelta
- ManipulationInertiaStarting
- ManipulasiStarted
- ManipulationStarting
- PointerCanceled
- PointerCaptureLost
- PointerEntered
- PointerExited
- PointerMoved
- PointerPressed
- PointerReleased
- PointerWheelChanged
- RightTapped
- Mengetuk
Catatan
GotFocus dan LostFocus bertindak seperti peristiwa yang dirutekan tetapi tidak memiliki pengidentifikasi RoutedEvent, sehingga Anda tidak dapat menggunakan AddHandler dengannya.