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.
Yol boyunca giden 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 true
olarak ayarlayın; 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.
Varsayılan değer false
.
- Ö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 hala yolun geri kalanında hareket eder, ancak yanıt olarak yalnızca AddHandler(RoutedEvent, Delegate, Boolean) yöntem çağrısında HandledEventsToo
true
ile ö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ılamaz. İşlendi olarak işaretlenen 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 verdiğiniz 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önlendirilmiş Olayları İşlenmiş Olarak İşaretleme ve Sınıf İşleme.
Çok nadir durumlarda, Handledtrue
olarak işaretlendiği olayları işlemek ve Handledfalse
olarak değiştirerek olay bağımsız değişkenlerini değiştirmek uygundur. Bu, 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ığı KeyDown ve TextInput anahtar işlemesi gibi denetimlerin giriş olaylarının belirli alanlarında gerekli olabilir.