ContentElement.MouseLeftButtonDown Событие

Определение

Происходит при нажатии левой кнопки мыши в тот момент, когда указатель мыши находится над данным элементом.Occurs when the left mouse button is pressed while the mouse pointer is over this element.

public:
 virtual event System::Windows::Input::MouseButtonEventHandler ^ MouseLeftButtonDown;
public event System.Windows.Input.MouseButtonEventHandler MouseLeftButtonDown;
member this.MouseLeftButtonDown : System.Windows.Input.MouseButtonEventHandler 
Public Custom Event MouseLeftButtonDown As MouseButtonEventHandler 

Реализации

Комментарии

Несмотря на то, что в обзоре перенаправленных событий обычно используется маршрут с восходящей маршрутизацией через дерево элементов, он фактически является прямым перенаправленным событием, которое вызывается и передается по дереву элементов каждым ContentElement.Although this Routed Events Overview seems to follow a bubbling route through an element tree, it actually is a direct routed event that is raised and reraised along the element tree by each ContentElement.

Это событие является одним из нескольких связанных событий, которые сообщают о характере для кнопки мыши базового события Mouse.MouseDown, которое является вложенным событием, которое обрабатывается каждым элементом в маршруте события.This event is one of several related events that report the mouse-button specifics of an underlying Mouse.MouseDown event, which is an attached event that is processed by each element along an event route.

Аргументы этого события предоставляют аргументы базового события Mouse.MouseDown.The arguments of this event expose the arguments of the underlying Mouse.MouseDown event. Если это событие помечено как обработанное в маршруте события, события, связанные с кнопкой мыши, по-прежнему вызываются. Однако обработчики событий, связанных с кнопками мыши, должны добавляться путем явного вызова AddHandlerс параметром для обработки событий, которые уже помечены как обработанные, для того, чтобы они были прослушивателями события.If that event is marked as handled along the event route, the mouse-button specific events are still raised; however, handlers of the mouse-button specific events must be added by explicitly calling AddHandler, with the option to handle events that are already marked as handled, in order to be listeners to the event.

Концептуально Представьте это событие (а также другие события кнопки мыши в ContentElement) как "служба" (с определением службы, предоставленным классом Mouse).Conceptually, think of this event (and other mouse-button events on ContentElement) to be a mouse "service" (with the service definition provided by the Mouse class). Это событие добавляет ненужное для проверки состояния кнопки мыши (слева направо, вверх-вниз) исходных событий мыши в данных события.The event adds the convenience of not needing to check the mouse button states (left-right, up-down) of the original mouse events in the event data. Для более сложных сценариев, таких как проверка состояния нестандартных кнопок, может потребоваться использовать API-интерфейсы в Mouse классе, а не на ContentElement.For more advanced scenarios, such as checking for states of non-standard buttons, you might need to use the APIs on the Mouse class rather than those on ContentElement.

Важно!

Несколько ContentElement производных классах, имеющих поведение, схожее с контролем, например Hyperlink, может иметь внутреннюю обработку класса для событий кнопок мыши.A few ContentElement derived classes that have control-like behavior, for example, Hyperlink, might have inherent class handling for mouse button events. Событие нажатия левой кнопки мыши является наиболее вероятным событием для обработки класса в элементе управления.The left mouse button down event is the most likely event to have class handling in a control. Обработка класса часто помечает базовое событие Mouse класса как обработанное.The class handling often marks the underlying Mouse class event as handled. После того как событие помечено как обработанное, другие обработчики экземпляров, присоединенные к этому элементу, обычно не вызываются.Once the event is marked handled, other instance handlers that are attached to that element are not ordinarily raised. Другие обработчики классов или экземпляров, присоединенные к элементам в направлении восходящей маршрутизации к корню в дереве пользовательского интерфейса, также не вызываются.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.

Проблему, описанную выше, можно устранить, выполнив события MouseLeftButtonDown для событий левой кнопки мыши в производном классе, который обрабатывает классы с помощью любого из следующих решений:You can resolve the issue that is outlined in the preceding Important and still receive MouseLeftButtonDown events for left mouse button down events on a derived class that has class handling by using either of these solutions:

  • Присоединение обработчиков для события PreviewMouseDown, которое не помечено как обработанное элементами управления.Attach handlers for the PreviewMouseDown event, which is not marked as handled by the controls. Обратите внимание, что поскольку это событие предварительного просмотра, маршрут начинается с корневого каталога и подключается к элементу управления.Notice that because this is a preview event, the route starts at the root and tunnels down to the control.

  • Зарегистрируйте обработчик в элементе управления процедурно, вызвав AddHandler и выбрав параметр Signature, который позволяет обработчикам прослушивать события, даже если они уже помечены как обработанные в данных перенаправленного события.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.

Сведения о маршрутизируемом событииRouted Event Information

Поле идентификатораIdentifier field MouseLeftButtonDownEvent
Стратегия маршрутизацииRouting strategy DirectDirect
делегатDelegate MouseButtonEventHandler
  • Переопределите OnMouseLeftButtonDown, чтобы реализовать обработку класса для этого события в производных классах.Override OnMouseLeftButtonDown to implement class handling for this event in derived classes.

Применяется к

Дополнительно