RoutedEventArgs.Handled Propriété
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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 HandledEventsToo
true
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.