RoutedEventArgs.Handled Özellik

Tanım

Rota ilerledikçe yönlendirilmiş bir olay için olay işlemenin mevcut durumunu gösteren bir değer alır veya ayarlar.Gets or sets a value that indicates the present state of the event handling for a routed event as it travels the route.

public:
 property bool Handled { bool get(); void set(bool value); };
public bool Handled { get; set; }
[get: System.Security.SecurityCritical]
[set: System.Security.SecurityCritical]
public bool Handled { get; set; }
member this.Handled : bool with get, set
[<get: System.Security.SecurityCritical>]
[<set: System.Security.SecurityCritical>]
member this.Handled : bool with get, set
Public Property Handled As Boolean

Özellik Değeri

Boolean

Ayarlanırsa, true olayı işlenmiş olarak işaretlenecek şekilde ayarlanır; Aksi takdirde false .If setting, set to true if the event is to be marked handled; otherwise false. Bu değeri okuyorsanız, true bir sınıf işleyicisinin veya rotadaki bir örnek işleyicinin işlenen bu olayı zaten işaretlemiş olduğunu gösterir.If reading this value, true indicates that either a class handler, or some instance handler along the route, has already marked this event handled. false. böyle bir işleyicinin işlenen olayı içermediğini belirtir.false.indicates that no such handler has marked the event handled.

Varsayılan değer: false.The default value is false.

Öznitelikler

Örnekler

Aşağıdaki örnek, işlenen olayı işaretleyen bir olay işleyicisi uygular.The following example implements an event handler that marks the event handled.

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

Etkinliğin işlenmiş olarak işaretlenmesi, yönlendirilmiş olayın görünürlüğünü olay rotası üzerinde dinleyicilerine göre sınırlandırır.Marking the event handled will limit the visibility of the routed event to listeners along the event route. Olay yine de yolun kalanını gezir, ancak yalnızca Yöntem çağrısında ile birlikte eklenen işleyiciler HandledEventsToo true AddHandler(RoutedEvent, Delegate, Boolean) yanıt olarak çağrılır.The event does still travel the remainder of the route, but only handlers specifically added with HandledEventsToo true in the AddHandler(RoutedEvent, Delegate, Boolean) method call will be invoked in response. Örnek dinleyicilerinde (içinde ifade edilen) varsayılan işleyiciler Extensible Application Markup Language (XAML)Extensible Application Markup Language (XAML) çağrılmaz.Default handlers on instance listeners (such as those expressed in Extensible Application Markup Language (XAML)Extensible Application Markup Language (XAML)) will not be invoked. İşlenmiş olarak işaretlenen olayları işlemek ortak bir senaryo değildir.Handling events that are marked handled is not a common scenario.

Kendi olaylarınızı tanımlayan bir denetim yazarıdır, sınıf düzeyinde olay işleme hakkında yaptığınız kararlar, denetiminizin kullanıcılarını ve türetilmiş denetimlerin kullanıcılarını, sizin denetitiğinizdeki ya da denetiminizi içeren diğer öğeleri etkiler.If you are a control author defining your own events, the decisions you make regarding event handling at the class level will impact users of your control as well as any users of derived controls, and potentially other elements that are either contained by your control or that contain your control. Daha fazla bilgi için bkz. yönlendirilmiş olayları işlenmiş olarak işaretleme ve sınıf işleme.For more information, see Marking Routed Events as Handled, and Class Handling.

Çok nadir koşullarda, işaretlenmiş olayları işlemek için uygundur Handled true ve öğesini olarak değiştirerek olay bağımsız değişkenlerini değiştirin Handled false .In very rare circumstances it is appropriate to handle events where Handled is marked true, and modify the event arguments by changing Handled to false. Bu, KeyDown TextInput düşük düzey ve yüksek 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ığı, bazı denetimlerin giriş olaylarının belirli alanlarında gerekli olabilir.This can be necessary in certain areas of input events of controls, such as key handling of KeyDown versus TextInput where low level and high level input events compete for the handling, and each is attempting to work with a different routing strategy.

Şunlara uygulanır