У меня есть 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
(перетаскивание), т. е. если пользователь дважды щелкает элемент управления и быстро меняет положение мыши, положение элемента управления изменяется ( его перетащили на новое место).
Можно ли каким-либо образом предотвратить операцию перетаскивания, когда пользователь дважды щелкает элемент управления?