Make use of scroll bars in ScrollViewer

This commit is contained in:
Paddy Xu
2017-07-03 23:50:37 +03:00
parent 847611648c
commit 97e8552e68
2 changed files with 14 additions and 6 deletions

View File

@@ -45,8 +45,8 @@ namespace QuickLook.Plugin.ImageViewer
viewPanel.PreviewMouseWheel += ViewPanel_PreviewMouseWheel;
viewPanel.PreviewMouseLeftButtonDown += ViewPanel_PreviewMouseLeftButtonDown;
viewPanel.PreviewMouseMove += ViewPanel_PreviewMouseMove;
viewPanel.MouseLeftButtonDown += ViewPanel_MouseLeftButtonDown;
viewPanel.MouseMove += ViewPanel_MouseMove;
}
private void LoadImage(string path)
@@ -68,21 +68,25 @@ namespace QuickLook.Plugin.ImageViewer
}
}
private void ViewPanel_PreviewMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
private void ViewPanel_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
e.MouseDevice.Capture(viewPanel);
_dragInitPos = e.GetPosition(viewPanel);
var temp = _dragInitPos.Value; // Point is a type value
temp.Offset(viewPanel.HorizontalOffset, viewPanel.VerticalOffset);
_dragInitPos = temp;
}
private void ViewPanel_PreviewMouseMove(object sender, MouseEventArgs e)
private void ViewPanel_MouseMove(object sender, MouseEventArgs e)
{
if (!_dragInitPos.HasValue)
return;
if (e.LeftButton == MouseButtonState.Released)
{
e.MouseDevice.Capture(null);
_dragInitPos = null;
return;
}

View File

@@ -250,8 +250,8 @@ namespace QuickLook.Plugin.PDFViewer
pageViewPanel.PreviewMouseWheel += NavigatePage;
StartMouseWhellDelayedZoomMonitor(pageViewPanel);
pageViewPanel.PreviewMouseLeftButtonDown += DragScrollStart;
pageViewPanel.PreviewMouseMove += DragScrolling;
pageViewPanel.MouseLeftButtonDown += DragScrollStart;
pageViewPanel.MouseMove += DragScrolling;
}
private void DragScrolling(object sender, MouseEventArgs e)
@@ -261,6 +261,8 @@ namespace QuickLook.Plugin.PDFViewer
if (e.LeftButton == MouseButtonState.Released)
{
e.MouseDevice.Capture(null);
_dragInitPos = null;
return;
}
@@ -275,6 +277,8 @@ namespace QuickLook.Plugin.PDFViewer
private void DragScrollStart(object sender, MouseButtonEventArgs e)
{
e.MouseDevice.Capture(pageViewPanel);
_dragInitPos = e.GetPosition(pageViewPanel);
var temp = _dragInitPos.Value; // Point is a type value
temp.Offset(pageViewPanel.HorizontalOffset, pageViewPanel.VerticalOffset);