<ScrollViewer Grid.Row="4" VerticalScrollBarVisibility="Hidden" HorizontalScrollBarVisibility="Hidden" Grid.ColumnSpan="4" PreviewMouseLeftButtonDown="ScrollViewer_PreviewMouseLeftButtonDown" PreviewMouseMove="ScrollViewer_PreviewMouseMove" PreviewMouseLeftButtonUp="ScrollViewer_PreviewMouseLeftButtonUp">
Point scrollMousePoint = new Point();
double hOff = 1;
private void ScrollViewer_PreviewMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
var scrollViewer = ((ScrollViewer)sender);
scrollMousePoint = e.GetPosition(scrollViewer);
hOff = scrollViewer.HorizontalOffset;
scrollViewer.CaptureMouse();
}
private void ScrollViewer_PreviewMouseMove(object sender, MouseEventArgs e)
{
var scrollViewer = ((ScrollViewer)sender);
if (scrollViewer.IsMouseCaptured)
{
scrollViewer.ScrollToHorizontalOffset(hOff + (scrollMousePoint.X - e.GetPosition(scrollViewer).X));
}
}
private void ScrollViewer_PreviewMouseLeftButtonUp(object sender, MouseButtonEventArgs e)
{
var scrollViewer = ((ScrollViewer)sender);
scrollViewer.ReleaseMouseCapture();
}