Mouse.MouseDown Mouse.MouseDown Mouse.MouseDown Attached Event

Définition

Se produit lorsqu'un bouton de la souris est enfoncé.Occurs when any mouse button is depressed.

see AddMouseDownHandler, and RemoveMouseDownHandler
see AddMouseDownHandler, and RemoveMouseDownHandler
see AddMouseDownHandler, and RemoveMouseDownHandler

Remarques

Pour déterminer le bouton de la souris qui a été ChangedButton enfoncé, vérifiez MouseButtonEventArgs la propriété dans le passé au gestionnaire.To determine which mouse button was depressed, check the ChangedButton property in the MouseButtonEventArgs passed to the handler.

Il s’agit d’un événement attaché.This is an attached event. WPFWPFimplémente les événements attachés en tant qu’événements routés.implements attached events as routed events. Les événements attachés sont fondamentalement XAMLXAML un concept de langage permettant de référencer des événements qui peuvent être gérés sur des objets qui ne WPFWPF définissent pas cet événement, qui se développe en permettant également à l’événement de traverser un itinéraire.Attached events are fundamentally a XAMLXAML language concept for referencing events that can be handled on objects that do not define that event, which WPFWPF expands upon by also enabling the event to traverse a route. Les événements attachés n’ont pas de syntaxe de gestion directe dans le code; pour attacher des gestionnaires pour un événement routé dans du code, vous utilisez une méthode de gestionnaire Add * désignée.Attached events do not have a direct handling syntax in code; to attach handlers for a routed event in code, you use a designated Add*Handler method. Pour plus d’informations, consultez vue d’ensemble des événements attachés.For details, see Attached Events Overview.

Le Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF) Framework s’appuie sur cet événement attaché en le signalant comme Common Language Runtime (CLR)common language runtime (CLR) deux événements UIElement différents ContentElementsur MouseLeftButtonDown et MouseRightButtonDown: et.The Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF) framework builds on this attached event by surfacing it as two different Common Language Runtime (CLR)common language runtime (CLR) events on UIElement and ContentElement: MouseLeftButtonDown and MouseRightButtonDown. Ces implémentations gèrent l’événement MouseDown sous-jacent et lisent les arguments de l’événement pour déterminer si le bouton gauche ou droit de la souris a été impliqué.These implementations handle the underlying MouseDown event and read the arguments of the event to determine whether the left or right mouse button was involved. Pour une souris à trois boutons, il n’existe aucune prise en charge des événements au niveau de l’infrastructure pour le bouton central.For a three-button mouse, there is no framework-level event support for the center button. Vous devez utiliser l' MouseDown événement et vérifier l' MiddleButton État dans les arguments de l’événement.You should use the MouseDown event and check the MiddleButton state in the event arguments.

Important

Quelques ContentElement classes dérivées qui ont un comportement de type contrôle, par Hyperlinkexemple,, peuvent avoir une gestion de classe inhérente pour les événements de bouton de souris.A few ContentElement derived classes that have control-like behavior, for example, Hyperlink, might have inherent class handling for mouse button events. Le bouton gauche de la souris enfoncé est l’événement le plus probable pour la gestion de classe dans un contrôle.The left mouse button down event is the most likely event to have class handling in a control. La gestion de classe marque souvent l' Mouse événement de classe sous-jacent comme géré.The class handling often marks the underlying Mouse class event as handled. Une fois que l’événement est marqué comme géré, les autres gestionnaires d’instance attachés à cet élément ne sont généralement pas déclenchés.Once the event is marked handled, other instance handlers that are attached to that element are not ordinarily raised. Les autres gestionnaires de classes ou d’instances attachés à des éléments dans la direction de propagation vers la racine dans l’arborescence de l’interface utilisateur ne sont pas non plus déclenchés.Any other class or instance handlers that are attached to elements in the bubbling direction towards the root in the UI tree are also not ordinarily raised.

Vous pouvez résoudre le problème décrit dans la remarque importante précédente et recevoir MouseDown toujours des événements pour les événements bouton gauche de la souris enfoncé sur une classe dérivée qui a une gestion de classe à l’aide de l’une de ces solutions:You can resolve the issue that is outlined in the preceding Important note and still receive MouseDown events for left mouse button down events on a derived class that has class handling by using either of these solutions:

  • Attachez des gestionnaires pour PreviewMouseDown l’événement, qui n’est pas marqué comme géré par les contrôles.Attach handlers for the PreviewMouseDown event, which is not marked as handled by the controls. Notez qu’étant donné qu’il s’agit d’un événement d’aperçu, l’itinéraire commence à la racine et passe au contrôle.Notice that because this is a preview event, the route starts at the root and tunnels down to the control.

  • Inscrivez un gestionnaire sur le contrôle de manière procédurale AddHandler en appelant et en choisissant l’option de signature qui permet aux gestionnaires d’écouter les événements, même s’ils sont déjà marqués comme gérés dans les données d’événement routés.Register a handler on the control procedurally by calling AddHandler and choosing the signature option that enables handlers to listen for events even if they are already marked as handled in the routed event data.

Pour les événements routés liés à la souris, soyez prudent quant à la façon dont ou quand vous les marquez comme gérés.For routed events that relate to the mouse, be careful about how or when you mark them handled. La difficulté de faire les choix appropriés quant à la nécessité de savoir si des éléments parents doivent également être informés sur une action de WPFWPF la souris est en fait la raison pour laquelle l’infrastructure a choisi le modèle de CLRCLR mise en surface de l’événement routé de souris sous-jacent. événements le long de l’itinéraire.The difficulty in making the appropriate choices about whether parent elements should also be informed about any given mouse action is in fact why the WPFWPF framework chose the model of having the underlying mouse routed event be surfaced as CLRCLR events along the route. Des problèmes similaires existent avec le tunneling des événements de souris.Similar issues exist with tunneling mouse events. Devez-vous gérer l’événement sans qu’il soit géré par des enfants supplémentaires vers la source, et comment cela affecte-t-il la composition d’un contrôle où les éléments de composition peuvent avoir des comportements de souris attendus?Should you handle the event and not have it be handled by further children toward the source, and how would that affect compositing a control where the compositing pieces might have expected mouse behaviors?

Informations sur les événements acheminésRouted Event Information

Champ d’identificateurIdentifier field MouseDownEvent
Stratégie de routageRouting strategy PropagationBubbling
déléguéDelegate MouseButtonEventHandler

S’applique à