RoutedEventArgs.Handled Proprietà

Definizione

Ottiene o imposta un valore che indica lo stato presente della gestione degli eventi per un evento indirizzato quando percorre la route.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); };
[get: System.Security.SecurityCritical]
[set: System.Security.SecurityCritical]
public bool Handled { get; set; }
member this.Handled : bool with get, set
Public Property Handled As Boolean

Valore della proprietà

In caso di impostazione di questo valore, impostarlo su true se l'evento deve essere contrassegnato come gestito. In caso contrario, false.If setting, set to true if the event is to be marked handled; otherwise false. In caso di lettura di questo valore, true indica che un gestore di classi o alcuni gestori di istanze lungo la route hanno già contrassegnato questo evento come gestito.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.indica che nessun gestore di questo tipo ha contrassegnato l'evento come gestito.false.indicates that no such handler has marked the event handled.

Il valore predefinito è false.The default value is false.

Attributi

Esempi

Nell'esempio seguente viene implementato un gestore eventi che contrassegna l'evento come gestito.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

Commenti

Se si contrassegna l'evento come gestito, la visibilità dell'evento indirizzato viene limitata ai listener lungo la route dell'evento.Marking the event handled will limit the visibility of the routed event to listeners along the event route. L'evento continua a viaggiare il resto della route, ma solo i gestori aggiunti specificamente con HandledEventsToo true nella chiamata al metodo AddHandler(RoutedEvent, Delegate, Boolean) verranno richiamati in risposta.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. I gestori predefiniti nei listener di istanza, ad esempio quelli espressi in Extensible Application Markup Language (XAML)Extensible Application Markup Language (XAML), non verranno richiamati.Default handlers on instance listeners (such as those expressed in Extensible Application Markup Language (XAML)Extensible Application Markup Language (XAML)) will not be invoked. La gestione degli eventi contrassegnati come gestiti non è uno scenario comune.Handling events that are marked handled is not a common scenario.

Se si è un autore di controlli che definisce eventi personalizzati, le decisioni prese in merito alla gestione degli eventi a livello di classe influiranno sugli utenti del controllo, nonché su tutti gli utenti di controlli derivati e potenzialmente su altri elementi contenuti nel controllo. o che contengono il controllo.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. Per altre informazioni, vedere Contrassegno degli eventi indirizzati come gestiti e gestione delle classi.For more information, see Marking Routed Events as Handled, and Class Handling.

In rare circostanze è opportuno gestire gli eventi in cui Handled è contrassegnato come truee modificare gli argomenti dell'evento cambiando Handled in 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. Questa operazione può essere necessaria in determinate aree di eventi di input dei controlli, ad esempio la gestione delle chiavi di KeyDown rispetto TextInput in cui gli eventi di input di basso livello e di alto livello competono per la gestione e ognuno sta provando a usare una strategia di routing diversa.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.

Si applica a