UIElement.MouseLeftButtonDown Событие

Определение

Происходит при нажатии левой кнопки мыши в тот момент, когда указатель мыши находится над данным элементом.

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 

Тип события

Реализации

Комментарии

Хотя это перенаправленное событие , кажется, следует по восходящему маршруту через дерево элементов, на самом деле это прямое перенаправленное событие, которое вызывается и повторно выполняется вдоль дерева элементов каждым UIElementэлементом .

Это событие является одним из нескольких связанных событий, которые сообщают о специфике кнопки мыши базового Mouse.MouseDown события, которое является присоединенным событием, которое обрабатывается каждым элементом по маршруту события.

Данные события этого события предоставляют данные события базового Mouse.MouseDown события. Если это событие помечается как обработанное по маршруту события, события, относящиеся к кнопке мыши, по-прежнему вызываются; однако обработчики событий, относящихся к кнопке мыши, должны быть добавлены путем явного вызова AddHandlerс параметром для обработки событий, которые уже помечены как обработанные, чтобы быть прослушивателями события. Если вы помечаете MouseLeftButtonDown обработано, вы помечаете Mouse.MouseDown обработку для всех дальнейших прослушивателей по маршруту, а также для всех связанных событий. Сюда могут быть включены события, созданные обработчиком классов, такие как MouseDoubleClick.

Концептуально это событие (и другие события кнопки мыши в UIElement) считаются "службой" мыши (с определением службы, предоставленным классом Mouse ). Это событие позволяет не проверка состояния кнопки мыши (слева вправо, вверх и вниз) исходных событий мыши в данных события. Для более сложных сценариев, таких как проверка состояния нестандартных кнопок, может потребоваться использовать API в Mouse классе, а не в UIElement.

Важно!

Некоторым классам элементов управления может быть присуща обработка классов для событий кнопки мыши. Событие вниз левой кнопки мыши является наиболее вероятным событием для обработки класса в элементе управления. Обработка класса часто помечает событие базового Mouse класса как обработанное. После того как событие помечено как обработанное, другие обработчики экземпляров, присоединенные к данному элементу, обычно не вызываются. Любые другие обработчики классов или экземпляров, присоединенные к элементам в восходящем направлении к корню в дереве пользовательского интерфейса, также обычно не вызываются.

Вы можете устранить проблему, описанную в предыдущем разделе Важно, и по-прежнему получать MouseLeftButtonDown события для событий нажатия левой кнопки мыши в производном классе, который имеет обработку класса, с помощью любого из следующих решений:

  • Присоединение PreviewMouseDown обработчиков для события, которое не помечается как обрабатываемое элементами управления. Обратите внимание, что так как это событие является предварительным просмотром, маршрут начинается в корне и туннелируется до элемента управления .

  • Зарегистрируйте обработчик в элементе управления процедурно, вызвав AddHandler и выбрав параметр сигнатуры, который позволяет обработчикам прослушивать события, даже если они уже помечены как обработанные в перенаправленных данных событий.

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

Поле идентификатора MouseLeftButtonDownEvent
Стратегия маршрутизации Прямой доступ
Делегат MouseButtonEventHandler
  • Переопределите OnMouseLeftButtonDown , чтобы реализовать обработку классов для этого события в производных классах.

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

См. также раздел