RoutedEventArgs.Handled Özellik
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Yolu ilerlerken yönlendirilen bir olay için olay işlemenin mevcut durumunu gösteren bir değer alır veya ayarlar.
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
Özellik Değeri
ayarlanıyorsa, olayın işlendi olarak işaretlenip işaretlenmediğini olarak ayarlayın true
; aksi takdirde false
. Bu değeri okuyorsanız, true
bir sınıf işleyicisinin veya yol boyunca bir örnek işleyicisinin bu olayın işlendiğini zaten işaretlediğini gösterir. false
., böyle bir işleyicinin işlenen olayı işaretlemediğini gösterir.
false
varsayılan değerdir.
- Öznitelikler
Örnekler
Aşağıdaki örnek, işlenen olayı işaretleyen bir olay işleyicisi uygular.
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
Açıklamalar
İşlenen olayı işaretlemek, yönlendirilen olayın görünürlüğünü olay yolu boyunca dinleyicilere sınırlar. Olay yine de yolun geri kalanında hareket eder, ancak yanıt olarak yalnızca yöntem çağrısına AddHandler(RoutedEvent, Delegate, Boolean) ile HandledEventsToo
true
özel olarak eklenen işleyiciler çağrılır. Örnek dinleyicilerindeki varsayılan işleyiciler (Genişletilebilir Uygulama biçimlendirme dili (XAML) ile ifade edilenler gibi) çağrılmayacak. İşlendi olarak işaretlenmiş olayları işlemek yaygın bir senaryo değildir.
Kendi olaylarınızı tanımlayan bir denetim yazarıysanız, sınıf düzeyinde olay işlemeyle ilgili olarak alınan kararlar hem denetiminizin kullanıcılarını hem de türetilmiş denetimlerin kullanıcılarını ve denetiminizin içerdiği veya denetiminizi içeren diğer öğeleri etkiler. Daha fazla bilgi için bkz. Yönlendirilen Olayları İşlenmiş Olarak İşaretleme ve Sınıf İşleme.
Çok nadir durumlarda, işaretli true
olayları Handled işlemek ve olarak değiştirerek Handledfalse
olay bağımsız değişkenlerini değiştirmek uygundur. Bu, denetimlerin giriş olaylarının belirli alanlarında gerekli olabilir; örneğin, alt düzey ve üst düzey giriş olaylarının işleme için rekabet ettiği ve her birinin farklı bir yönlendirme stratejisiyle çalışmaya çalıştığı durumlarda anahtar işlemesi KeyDownTextInput .
Şunlara uygulanır
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin