RoutedEventArgs.Handled Özellik

Tanım

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 HandledEventsTootrue ö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 trueolayları Handled işlemek ve olarak değiştirerek Handledfalseolay 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