У меня есть Canvas
, который присутствует в UserControl
, я прикрепил событие DoubleClick
к этому UserControl
, как это
mainWindow.CanvasLayout.MouseDoubleClick +=
new MouseButtonEventHandler(CanvasLayout_MouseDoubleClick);
Я использую этот обработчик событий для достижения полноэкранного режима.
Теперь Canvas
может иметь различные элементы управления внутри него. Функция перетаскивания реализована для этих элементов управления аналогично этой статье codeproject.
По сути, я обрабатываю эти события для элемента управления -
this._dragSource.PreviewMouseLeftButtonDown +=
new MouseButtonEventHandler(DragSource_PreviewMouseLeftButtonDown);
this._dragSource.PreviewMouseMove +=
new System.Windows.Input.MouseEventHandler(DragSource_PreviewMouseMove);
this._dragSource.PreviewMouseLeftButtonUp +=
new MouseButtonEventHandler(DragSource_PreviewMouseLeftButtonUp);
Теперь, когда пользователь DoubleClicks
на элементе управления (присутствует в canvas
) выполняются как DoubleClick
(полный экран), так и одиночные Click
(перетаскивание), т. Е. Если пользователь дважды щелкает элемент управления и быстро измените положение мыши, измените положение управления (его перетаскивают в новое положение).
Можно ли как-нибудь предотвратить операцию перетаскивания, когда пользователь дважды щелкает элемент управления?