Aracılığıyla paylaş


RoutedEventArgs.Handled Özellik

Tanım

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 HandledEventsTootrue 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, Handledtrueolarak işaretlendiği olayları işlemek ve Handledfalseolarak 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.

Şunlara uygulanır