ContentElement.OnPreviewMouseDown(MouseButtonEventArgs) Метод

Определение

Вызывается, когда необработанное PreviewMouseDown присоединенное перенаправленное событие достигает элемента в его маршруте, производного от этого класса. Реализуйте этот метод, чтобы добавить для класса обработчик данного события.

protected public:
 virtual void OnPreviewMouseDown(System::Windows::Input::MouseButtonEventArgs ^ e);
protected internal virtual void OnPreviewMouseDown(System.Windows.Input.MouseButtonEventArgs e);
abstract member OnPreviewMouseDown : System.Windows.Input.MouseButtonEventArgs -> unit
override this.OnPreviewMouseDown : System.Windows.Input.MouseButtonEventArgs -> unit
Protected Friend Overridable Sub OnPreviewMouseDown (e As MouseButtonEventArgs)

Параметры

e
MouseButtonEventArgs

Объект MouseButtonEventArgs , содержащий данные события. Данные события сообщают о том, что нажата одна или несколько кнопок мыши.

Комментарии

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

Если этот обработчик класса используется для пометки события как обработанного, это может повлиять на следующие события: PreviewMouseLeftButtonDown и PreviewMouseRightButtonDown. Любой из этих событий может быть вызван на принимающем элементе при Mouse.PreviewMouseDown получении.

Если пометить это событие как обработанное в обработке классов, вложенные элементы по-прежнему вызываются; однако они передают обработанное состояние в данных события. Если событие обрабатывается в обработке классов, обработчики экземпляров для дочерних параметров не вызываются, если вы явно не используете AddHandler(RoutedEvent, Delegate, Boolean) для handledEventsTootrue присоединения обработчиков. Обработчики классов также не вызываются, если только эти обработчики классов не были зарегистрированы сигнатуройRegisterClassHandler(Type, RoutedEvent, Delegate, Boolean).handledEventsTootrue При обработке OnPreviewMouseDownвы подразумеваете, что обработка класса учитывается для всех возможных действий мыши вниз. Это поведение может быть нежелательным; Поэтому используйте осторожность при использовании этого виртуального метода, чтобы пометить события как обработанные.

Каждый из прямых событий, относящихся к кнопке, также имеет виртуальный метод On*; рассмотрите, может ли переопределение этих обработчиков классов, относящихся к кнопке, было бы более подходящим.

Этот метод не имеет реализации по умолчанию. Так как промежуточный класс в наследовании может реализовать этот метод, рекомендуется вызвать базовую реализацию в реализации.

Цель этого метода аналогична методам среды CLR: этот метод предоставляет средства для обработки события сопоставления из производных классов путем создания обработчика класса вместо обработчика экземпляра. В этом случае соответствующее событие является маршрутивным событием. Шаблон реализации методов On* отличается для перенаправленных событий, так как перенаправленное событие может быть вызвано дочерним элементом, который не обязательно является элементом, который будет вызывать обработчики. Таким образом, реализация должна проверить исходные свойства данных события. В большинстве случаев это событие не должно пытаться повторно выполнить.

Переопределяя этот метод или регистрируя обработчики классов с RegisterClassHandlerпроизводными классами, производные классы могут вызывать методы обработчика частных ContentElement классов при получении события по маршруту событий. Один из сценариев, когда обработка классов подходит для управления данными о событиях и пометки перенаправленного события как обработанного. Другой сценарий, предназначенный специально для событий предварительной версии, заключается в том, чтобы пометить их, чтобы соответствующие обработчики класса не вызывались.

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

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