Mouse.MouseDown Mouse.MouseDown Mouse.MouseDown Attached Event

Определение

Происходит, когда пользователь отпускает любую кнопку мыши.Occurs when any mouse button is depressed.

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

Комментарии

Чтобы определить, какая кнопка мыши была нажата, проверьте ChangedButton свойство в MouseButtonEventArgs передается обработчику.To determine which mouse button was depressed, check the ChangedButton property in the MouseButtonEventArgs passed to the handler.

Это вложенное событие.This is an attached event. WPFWPF Реализация присоединенных событий как перенаправленные события.implements attached events as routed events. Присоединенные события, по сути XAMLXAML концепции языка для ссылок на события, которые могут быть обработаны на объекты, которые не определяют данного события, который WPFWPF расширяет, также позволяя события проходить по маршруту.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. Вложенные события не имеют синтаксис прямой обработки в коде; для присоединения обработчиков для перенаправленных событий в коде, используйте указанный добавить * метод обработчика.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. Дополнительные сведения см. в разделе подключенные Общие сведения о событиях.For details, see Attached Events Overview.

Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF) Framework основана на это вложенное событие, и отображает его как два разных среда CLRcommon language runtime (CLR) события на UIElement и ContentElement: MouseLeftButtonDown и MouseRightButtonDown.The Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF) framework builds on this attached event by surfacing it as two different среда CLRcommon language runtime (CLR) events on UIElement and ContentElement: MouseLeftButtonDown and MouseRightButtonDown. Эти реализации обработки базового MouseDown событий и считывает аргументы события, чтобы определить, связан ли левая или правая кнопка мыши.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. Три кнопки мыши не поддерживается событий уровня платформы для кнопки "center".For a three-button mouse, there is no framework-level event support for the center button. Следует использовать MouseDown события и проверьте MiddleButton событий состояния аргументы.You should use the MouseDown event and check the MiddleButton state in the event arguments.

Важно!

Несколько 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.

Можно устранить проблему, описанную в предыдущем важное примечание и по-прежнему получать MouseDown событий для кнопки мыши в производном классе с обработкой класса с помощью любого из следующих решений: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:

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

Для перенаправленных событий, связанных с мышью Будьте внимательны о способе и времени они помечаются как обработанные.For routed events that relate to the mouse, be careful about how or when you mark them handled. Трудность принятия правильного решения о ли родительские элементы должны также информировать о любого заданного действия мыши на самом деле именно WPFWPF инфраструктуре выбрана модель предоставления базового маршрутизируемого события мыши как CLRCLR события в маршруте.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. Подобные проблемы связаны с помощью мыши события нисходящей маршрутизации.Similar issues exist with tunneling mouse events. Следует ли обрабатывать события и не допускать его обработки следующими дочерними элементами в направлении источника, и как это отразится на составлении элемента управления, где составные части могут ожидать поведения мыши?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?

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

Поле идентификатораIdentifier field MouseDownEvent
Стратегия маршрутизацииRouting strategy Восходящая маршрутизацияBubbling
делегатDelegate MouseButtonEventHandler
  • Соответствующее событие нисходящей маршрутизации является PreviewMouseDown.The corresponding tunneling event is PreviewMouseDown.

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