Partage via


RoutedEventArgs.Handled Propriété

Définition

Obtient ou définit une valeur qui indique l’état actuel de la gestion des événements pour un événement routé lors du déplacement de l’itinéraire.

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

Valeur de propriété

Si le paramètre est défini sur true si l’événement doit être marqué comme géré ; sinon, false. Si vous lisez cette valeur, true indique qu’un gestionnaire de classes, ou un gestionnaire d’instances le long de l’itinéraire, a déjà marqué cet événement géré. false.indique qu’aucun gestionnaire de ce type n’a marqué l’événement géré.

La valeur par défaut est false.

Attributs

Exemples

L’exemple suivant implémente un gestionnaire d’événements qui marque l’événement géré.

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

Remarques

Le marquage de l’événement géré limite la visibilité de l’événement routé aux écouteurs le long de l’itinéraire d’événement. L’événement voyage toujours le reste de l’itinéraire, mais seuls les gestionnaires spécifiquement ajoutés avec HandledEventsTootrue dans l’appel de méthode AddHandler(RoutedEvent, Delegate, Boolean) seront appelés en réponse. Les gestionnaires par défaut sur les écouteurs d’instance (tels que ceux exprimés en XAML (Extensible Application Markup Language)) ne seront pas appelés. La gestion des événements marqués comme gérés n’est pas un scénario courant.

Si vous êtes un auteur de contrôle définissant vos propres événements, les décisions que vous prenez en ce qui concerne la gestion des événements au niveau de la classe affecteront les utilisateurs de votre contrôle, ainsi que tous les utilisateurs de contrôles dérivés, et potentiellement d’autres éléments contenus par votre contrôle ou qui contiennent votre contrôle. Pour plus d’informations, consultez marquage d’événements routés comme gérés etde gestion des classes.

Dans de très rares cas, il convient de gérer les événements où Handled est marqué true, et de modifier les arguments d’événement en modifiant Handled en false. Cela peut être nécessaire dans certains domaines d’événements d’entrée de contrôles, tels que la gestion clé de KeyDown par rapport à TextInput où les événements d’entrée de bas niveau et de haut niveau concurrencent pour la gestion, et chacun tente de travailler avec une stratégie de routage différente.

S’applique à