ContentElement.OnMouseDown(MouseButtonEventArgs) ContentElement.OnMouseDown(MouseButtonEventArgs) ContentElement.OnMouseDown(MouseButtonEventArgs) ContentElement.OnMouseDown(MouseButtonEventArgs) Method

Définition

Méthode appelée lorsqu'un événement attaché MouseDown non géré atteint un élément de son itinéraire qui est dérivé de cette classe.Invoked when an unhandled MouseDown attached event reaches an element in its route that is derived from this class. Implémentez cette méthode pour ajouter la gestion de classes pour cet événement.Implement this method to add class handling for this event.

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

e
MouseButtonEventArgs MouseButtonEventArgs MouseButtonEventArgs MouseButtonEventArgs

MouseButtonEventArgs qui contient les données d'événement.The MouseButtonEventArgs that contains the event data. Ces données d’événement signalent des informations concernant le bouton de la souris qui a été appuyé et l’état géré.This event data reports details about the mouse button that was pressed and the handled state.

Remarques

Actions de bouton de la souris sont également gérées par un gestionnaire d’entrée dédié.Mouse button actions are also handled by a dedicated input manager. Autres fonctionnalités de programmation qui s’appuient sur les actions de bouton de la souris, comme entrée et de liaisons, des commandes peuvent appeler des gestionnaires pour l’action avant qu’elle est exposée comme une action de bouton de souris général.Other programming features that rely on mouse button actions, such as input and command bindings, might invoke handlers for the action before it is exposed as a general mouse button action. Si ces d’entrée système fonctionnalités marque le Mouse.MouseDown événement comme géré, OnMouseDown n’est pas appelé.If these input system features mark the Mouse.MouseDown event as handled, OnMouseDown is not invoked.

Si vous utilisez ce gestionnaire de classe pour marquer l’événement comme géré, vous avoir un impact sur les événements suivants : MouseLeftButtonDown et MouseRightButtonDown.If you use this class handler to mark the event as handled, you potentially impact the following events: MouseLeftButtonDown and MouseRightButtonDown. Un de ces événements peut être déclenché sur l’élément cible lorsque Mouse.MouseDown est reçue.Either of these events may be raised on the receiving element when Mouse.MouseDown is received.

Si vous marquez cet événement comme géré dans la gestion de classe, sous-événements sont toujours déclenchés ; Toutefois, elles passent de l’état géré dans les données d’événement.If you mark this event as handled in class handling, subevents are still raised; however, they pass the handled state in the event data. Si l’événement est géré dans la gestion de classe, les gestionnaires d’instance pour les sous-événements ne sont pas appelés, sauf si vous utilisez explicitement AddHandler(RoutedEvent, Delegate, Boolean) avec handledEventsToo true pour attacher des gestionnaires.If the event is handled in class handling, instance handlers for the subevents are not invoked unless you explicitly use AddHandler(RoutedEvent, Delegate, Boolean) with handledEventsToo true in order to attach handlers. Gestionnaires de classe sont également pas appelés à moins que ces gestionnaires de classe ont été inscrits avec le RegisterClassHandler(Type, RoutedEvent, Delegate, Boolean) signature avec handledEventsToo true.Class handlers also are not invoked unless those class handlers were registered with the RegisterClassHandler(Type, RoutedEvent, Delegate, Boolean) signature with handledEventsToo true. En gérant OnMouseDown, vous est pressions que votre gestion de classe pour tous les boutons de la souris.By handling OnMouseDown, you are implying that your class handling accounted for all possible mouse button down actions. Ce comportement peut être indésirable ; Par conséquent, soyez prudent lorsque vous utilisez cette méthode virtuelle pour marquer des événements comme étant géré.This behavior might be unwanted; therefore, use caution when you use this virtual method to mark events as handled.

Chacun des événements directs spécifique au bouton possède également une machine virtuelle* méthode ; considérez si la substitution de ces gestionnaires de classe spécifiques au bouton peut être plus approprié.Each of the button-specific direct events also has a virtual On* method; consider whether overriding these button-specific class handlers might be more appropriate.

Cette méthode n’a pas d’implémentation par défaut.This method has no default implementation. Car 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.Because an intermediate class in the inheritance might implement this method, we recommend that you call the base implementation in your implementation.

L’objectif de cette méthode est similaire à la Common Language Runtime (CLR)common language runtime (CLR) modèle d’événement sur* méthodes : cette méthode fournit les moyens de gérer l’événement correspondant à partir de classes dérivées en établissant un gestionnaire de classe au lieu d’un gestionnaire d’instance.The purpose of this method is similar to the Common Language Runtime (CLR)common language runtime (CLR) event pattern On* methods: this method provides the means to handle the matching event from derived classes by establishing a class handler instead of an instance handler. Dans ce cas, l’événement correspondant est un événement routé.In this case the matching event is a routed event. Le modèle d’implémentation de la suite* méthodes est différente pour les événements routés, car un événement routé peut être déclenché par un élément enfant, qui n’est pas nécessairement l’élément qui appelle les gestionnaires.The implementation pattern of the On* methods is different for routed events because a routed event can be raised by a child element, which is not necessarily the element that will invoke handlers. Par conséquent, votre implémentation doit examiner les propriétés de la source des données d’événement.Therefore, your implementation needs to examine the source properties of the event data. Il ne doit pas tenter de redéclencher l’événement dans la plupart des cas.It should not try to reraise the event in most cases.

Soit en substituant cette méthode ou en inscrivant avec les gestionnaires de classe RegisterClassHandler, les classes dérivées de ContentElement peut appeler des méthodes de gestionnaire de classe privée lorsque l’événement est reçu sur l’itinéraire d’événement.Either by overriding this method or by registering class handlers with RegisterClassHandler, derived classes of ContentElement can call private class handler methods when the event is received along the event route. Un scénario où la gestion de classe est appropriée consiste à manipuler les données d’événement et marquer l’événement routé comme géré.One scenario where class handling is appropriate is to manipulate the event data and mark the routed event as handled.

S’applique à

Voir aussi