private void ImageScroll_PreviewMouseMove(object sender, MouseEventArgs e) { var position = e.GetPosition(null); var difference = _previousPosition - position; if (e.LeftButton == MouseButtonState.Pressed && DragHelper.IsSignificantDrag(difference)) { _previousPosition = position; ImageScroll.ScrollToHorizontalOffset(ImageScroll.HorizontalOffset + difference.X); ImageScroll.ScrollToVerticalOffset(ImageScroll.VerticalOffset + difference.Y); } }
private static void OnPreviewMouseMove(object sender, MouseEventArgs e) { var position = e.GetPosition(null); var difference = _startPosition - position; if (e.LeftButton == MouseButtonState.Pressed && DragHelper.IsSignificantDrag(difference)) { var dependencyObject = sender as DependencyObject; var command = (ICommand)dependencyObject.GetValue(CommandProperty); //var commandParameter = dependencyObject.GetValue(CommandParameterProperty); var commandParameter = e.OriginalSource; command.Execute(commandParameter); } }