RoutedEventArgs.Handled Properti
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.
Mendapatkan atau menetapkan nilai yang menunjukkan status penanganan peristiwa saat ini untuk peristiwa yang dirutekan saat melakukan perjalanan rute.
public:
property bool Handled { bool get(); void set(bool value); };
public bool Handled { [System.Security.SecurityCritical] get; [System.Security.SecurityCritical] set; }
public bool Handled { get; set; }
[<get: System.Security.SecurityCritical>]
[<set: System.Security.SecurityCritical>]
member this.Handled : bool with get, set
member this.Handled : bool with get, set
Public Property Handled As Boolean
Nilai Properti
Jika diatur, atur ke true
jika peristiwa akan ditandai ditangani; jika tidak, false
. Jika membaca nilai ini, true
menunjukkan bahwa handler kelas, atau beberapa handler instans di sepanjang rute, telah menandai peristiwa ini ditangani.
false
.menunjukkan bahwa tidak ada handler seperti itu yang menandai peristiwa yang ditangani.
Nilai defaultnya adalah false
.
- Atribut
Contoh
Contoh berikut mengimplementasikan penanganan aktivitas yang menandai peristiwa yang ditangani.
protected override void OnPreviewMouseRightButtonDown(System.Windows.Input.MouseButtonEventArgs e)
{
e.Handled = true; //suppress the click event and other leftmousebuttondown responders
MyEditContainer ec = (MyEditContainer)e.Source;
if (ec.EditState)
{ ec.EditState = false; }
else
{ ec.EditState = true; }
base.OnPreviewMouseRightButtonDown(e);
}
Protected Overrides Sub OnPreviewMouseRightButtonDown(ByVal e As System.Windows.Input.MouseButtonEventArgs)
e.Handled = True 'suppress the click event and other leftmousebuttondown responders
Dim ec As MyEditContainer = CType(e.Source, MyEditContainer)
If ec.EditState Then
ec.EditState = False
Else
ec.EditState = True
End If
MyBase.OnPreviewMouseRightButtonDown(e)
End Sub
Keterangan
Menandai peristiwa yang ditangani akan membatasi visibilitas peristiwa yang dirutekan kepada pendengar di sepanjang rute peristiwa. Peristiwa ini masih melakukan perjalanan sisa rute, tetapi hanya handler yang secara khusus ditambahkan dengan HandledEventsToo
true
dalam panggilan metode AddHandler(RoutedEvent, Delegate, Boolean) yang akan dipanggil sebagai respons. Handler default pada listener instans (seperti yang dinyatakan dalam Extensible Application Markup Language (XAML)) tidak akan dipanggil. Menangani peristiwa yang ditandai ditangani bukanlah skenario umum.
Jika Anda adalah penulis kontrol yang mendefinisikan peristiwa Anda sendiri, keputusan yang Anda buat mengenai penanganan peristiwa di tingkat kelas akan memengaruhi pengguna kontrol Anda serta pengguna kontrol turunan, dan berpotensi elemen lain yang terkandung oleh kontrol Anda atau yang berisi kontrol Anda. Untuk informasi selengkapnya, lihat Menandai Peristiwa Yang Dirutekan sebagai Ditangani, dan Penanganan Kelas.
Dalam keadaan yang sangat jarang terjadi, tepat untuk menangani peristiwa di mana Handled ditandai true
, dan memodifikasi argumen peristiwa dengan mengubah Handled menjadi false
. Ini dapat diperlukan di area tertentu dari peristiwa input kontrol, seperti penanganan kunci KeyDown versus TextInput di mana peristiwa input tingkat rendah dan tingkat tinggi bersaing untuk penanganan, dan masing-masing mencoba bekerja dengan strategi perutean yang berbeda.