RoutedEventArgs.Handled Tulajdonság

Definíció

Lekéri vagy beállít egy értéket, amely jelzi az útvonalon áthaladó esemény eseménykezelésének jelenlegi állapotát.

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

Tulajdonság értéke

Ha be van állítva, állítsa be, hogy true az eseményt kezelni kell-e; ellenkező esetben false. Ha ezt az értéket olvassa, az azt jelzi, true hogy egy osztálykezelő vagy egy példánykezelő az útvonal mentén már megjelölte ezt az eseményt. false.azt jelzi, hogy egy ilyen kezelő sem jelölte meg a kezelt eseményt.

Az alapértelmezett érték a false.

Attribútumok

Példák

Az alábbi példa egy eseménykezelőt implementál, amely megjelöli a kezelt eseményt.

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

Megjegyzések

A kezelt esemény megjelölése korlátozza az irányított esemény láthatóságát a figyelők számára az eseményútvonal mentén. Az esemény továbbra is az útvonal fennmaradó részét érinti, de válaszként csak a HandledEventsToo metódushívásban kifejezetten hozzáadott trueAddHandler(RoutedEvent, Delegate, Boolean) kezelők lesznek meghívva. A példányfigyelők alapértelmezett kezelői (például az Extensible Application Markup Language (XAML)) nem lesznek meghívva. A kezeltként megjelölt események kezelése nem gyakori forgatókönyv.

Ha Ön a saját eseményeit meghatározó vezérlőelem-szerző, az osztályszintű eseménykezeléssel kapcsolatos döntések hatással lesznek a vezérlő felhasználóira, valamint a származtatott vezérlők felhasználóira, valamint a vezérlő által tartalmazott vagy a vezérlőt tartalmazó egyéb elemekre. További információ: Az irányított események megjelölése kezeltként és osztálykezelés.

Nagyon ritka esetekben célszerű kezelni a megjelölt eseményeketHandled, és módosítani az eseményargumentumokattrueHandled.false Erre szükség lehet a vezérlők bemeneti eseményeinek bizonyos területein, például az alacsony és a magas szintű bemeneti események kezelésének kulcskezelésében KeyDownTextInput , és mindegyik más útválasztási stratégiával próbál dolgozni.

A következőre érvényes: