ContentElement.OnMouseDown(MouseButtonEventArgs) Méthode
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.
Appelé lorsqu’un événement attaché non géré MouseDown atteint un élément dans son itinéraire dérivé de cette classe. Implémentez cette méthode pour ajouter la gestion des classes pour cet événement.
protected public:
virtual void OnMouseDown(System::Windows::Input::MouseButtonEventArgs ^ e);
protected internal virtual void OnMouseDown (System.Windows.Input.MouseButtonEventArgs e);
abstract member OnMouseDown : System.Windows.Input.MouseButtonEventArgs -> unit
override this.OnMouseDown : System.Windows.Input.MouseButtonEventArgs -> unit
Protected Friend Overridable Sub OnMouseDown (e As MouseButtonEventArgs)
Paramètres
MouseButtonEventArgs qui contient les données d’événement. Ces données d’événement indiquent des détails sur le bouton de la souris qui a été enfoncé et l’état géré.
Remarques
Les actions de bouton de souris sont également gérées par un gestionnaire d’entrée dédié. D’autres fonctionnalités de programmation qui s’appuient sur des actions de bouton de souris, telles que les liaisons d’entrée et de commande, peuvent appeler des gestionnaires pour l’action avant d’être exposées en tant qu’action de bouton de souris générale. Si ces fonctionnalités du système d’entrée marquent l’événement Mouse.MouseDown comme géré, OnMouseDown n’est pas appelée.
Si vous utilisez ce gestionnaire de classes pour marquer l’événement comme géré, vous pouvez affecter les événements suivants : MouseLeftButtonDown et MouseRightButtonDown. L’un de ces événements peut être déclenché sur l’élément de réception lorsque Mouse.MouseDown est reçu.
Si vous marquez cet événement comme géré dans la gestion des classes, les sous-événements sont toujours déclenchés ; toutefois, ils passent l’état géré dans les données d’événement. Si l’événement est géré dans la gestion des classes, les gestionnaires d’instances pour les sous-événements ne sont pas appelés, sauf si vous utilisez explicitement AddHandler(RoutedEvent, Delegate, Boolean) avec handledEventsToo
true
afin d’attacher des gestionnaires. Les gestionnaires de classes ne sont pas également appelés, sauf si ces gestionnaires de classes ont été inscrits auprès de la signature RegisterClassHandler(Type, RoutedEvent, Delegate, Boolean) avec handledEventsToo
true
. En gérant OnMouseDown, vous impliquez que la gestion de votre classe représentait toutes les actions possibles du bouton de souris vers le bas. Ce comportement peut être indésirable ; par conséquent, utilisez la prudence lorsque vous utilisez cette méthode virtuelle pour marquer les événements comme gérés.
Chacun des événements directs spécifiques au bouton a également une méthode On* virtuelle ; déterminez si la substitution de ces gestionnaires de classes spécifiques au bouton peut être plus appropriée.
Cette méthode n’a pas d’implémentation par défaut. Étant donné qu’une classe intermédiaire dans l’héritage peut implémenter cette méthode, nous vous recommandons d’appeler l’implémentation de base dans votre implémentation.
L’objectif de cette méthode est similaire au modèle d’événement CLR (Common Language Runtime) On* : cette méthode fournit les moyens de gérer l’événement correspondant à partir de classes dérivées en établissant un gestionnaire de classes au lieu d’un gestionnaire d’instances. Dans ce cas, l’événement correspondant est un événement routé. Le modèle d’implémentation des méthodes On* est différent pour les événements routés, car un événement routé peut être déclenché par un élément enfant, ce qui n’est pas nécessairement l’élément qui appellera des gestionnaires. Par conséquent, votre implémentation doit examiner les propriétés sources des données d’événement. Il ne doit pas essayer de relancer l’événement dans la plupart des cas.
En substituant cette méthode ou en inscrivant des gestionnaires de classes avec RegisterClassHandler, les classes dérivées de ContentElement peuvent appeler des méthodes de gestionnaire de classes privées lorsque l’événement est reçu le long de l’itinéraire d’événements. Un scénario où la gestion des classes est appropriée consiste à manipuler les données d’événement et à marquer l’événement routé comme géré.