RoutedEventArgs.Handled Egenskap

Definition

Hämtar eller anger ett värde som anger det aktuella tillståndet för händelsehanteringen för en dirigerad händelse när den färdas längs vägen.

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

Egenskapsvärde

Om inställningen anges till true om händelsen ska markeras som hanterad, annars false. Om du läser det här värdet true anger du att antingen en klasshanterare eller någon instanshanterare längs vägen redan har markerat den här händelsen som hanterad. false.anger att ingen sådan hanterare har markerat den hanterade händelsen.

Standardvärdet är false.

Attribut

Exempel

I följande exempel implementeras en händelsehanterare som markerar händelsen som hanteras.

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

Kommentarer

Om du markerar händelsen som hanteras begränsas synligheten för den dirigerade händelsen till lyssnare längs händelsevägen. Händelsen färdas fortfarande resten av vägen, men endast hanterare som specifikt läggs till i HandledEventsTootrue metodanropet AddHandler(RoutedEvent, Delegate, Boolean) anropas som svar. Standardhanterare för instanslyssnare (till exempel de som uttrycks i XAML (Extensible Application Markup Language) anropas inte. Att hantera händelser som har markerats som hanterade är inte ett vanligt scenario.

Om du är en kontrollförfattare som definierar dina egna händelser kommer de beslut du fattar om händelsehantering på klassnivå att påverka användarna av din kontroll samt alla användare av härledda kontroller och potentiellt andra element som antingen finns i din kontroll eller som innehåller din kontroll. Mer information finns i Markera routade händelser som hanterade och klasshantering.

I mycket sällsynta fall är det lämpligt att hantera händelser där Handled har markerats trueoch ändra händelseargumenten genom att ändra Handled till false. Detta kan vara nödvändigt inom vissa områden av indatahändelser för kontroller, till exempel nyckelhantering av KeyDown kontra TextInput där indatahändelser på låg nivå och hög nivå konkurrerar om hanteringen, och var och en försöker arbeta med en annan routningsstrategi.

Gäller för