Skip to content

Commit 97e8552

Browse files
committed
Make use of scroll bars in ScrollViewer
1 parent 8476116 commit 97e8552

File tree

2 files changed

+14
-6
lines changed

2 files changed

+14
-6
lines changed

QuickLook.Plugin/QuickLook.Plugin.ImageViewer/ImagePanel.xaml.cs

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -45,8 +45,8 @@ public ImagePanel(string path)
4545

4646
viewPanel.PreviewMouseWheel += ViewPanel_PreviewMouseWheel;
4747

48-
viewPanel.PreviewMouseLeftButtonDown += ViewPanel_PreviewMouseLeftButtonDown;
49-
viewPanel.PreviewMouseMove += ViewPanel_PreviewMouseMove;
48+
viewPanel.MouseLeftButtonDown += ViewPanel_MouseLeftButtonDown;
49+
viewPanel.MouseMove += ViewPanel_MouseMove;
5050
}
5151

5252
private void LoadImage(string path)
@@ -68,21 +68,25 @@ private void LoadImage(string path)
6868
}
6969
}
7070

71-
private void ViewPanel_PreviewMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
71+
private void ViewPanel_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
7272
{
73+
e.MouseDevice.Capture(viewPanel);
74+
7375
_dragInitPos = e.GetPosition(viewPanel);
7476
var temp = _dragInitPos.Value; // Point is a type value
7577
temp.Offset(viewPanel.HorizontalOffset, viewPanel.VerticalOffset);
7678
_dragInitPos = temp;
7779
}
7880

79-
private void ViewPanel_PreviewMouseMove(object sender, MouseEventArgs e)
81+
private void ViewPanel_MouseMove(object sender, MouseEventArgs e)
8082
{
8183
if (!_dragInitPos.HasValue)
8284
return;
8385

8486
if (e.LeftButton == MouseButtonState.Released)
8587
{
88+
e.MouseDevice.Capture(null);
89+
8690
_dragInitPos = null;
8791
return;
8892
}

QuickLook.Plugin/QuickLook.Plugin.PDFViewer/PdfViewerControl.xaml.cs

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -250,8 +250,8 @@ public void LoadPdf(string path)
250250
pageViewPanel.PreviewMouseWheel += NavigatePage;
251251
StartMouseWhellDelayedZoomMonitor(pageViewPanel);
252252

253-
pageViewPanel.PreviewMouseLeftButtonDown += DragScrollStart;
254-
pageViewPanel.PreviewMouseMove += DragScrolling;
253+
pageViewPanel.MouseLeftButtonDown += DragScrollStart;
254+
pageViewPanel.MouseMove += DragScrolling;
255255
}
256256

257257
private void DragScrolling(object sender, MouseEventArgs e)
@@ -261,6 +261,8 @@ private void DragScrolling(object sender, MouseEventArgs e)
261261

262262
if (e.LeftButton == MouseButtonState.Released)
263263
{
264+
e.MouseDevice.Capture(null);
265+
264266
_dragInitPos = null;
265267
return;
266268
}
@@ -275,6 +277,8 @@ private void DragScrolling(object sender, MouseEventArgs e)
275277

276278
private void DragScrollStart(object sender, MouseButtonEventArgs e)
277279
{
280+
e.MouseDevice.Capture(pageViewPanel);
281+
278282
_dragInitPos = e.GetPosition(pageViewPanel);
279283
var temp = _dragInitPos.Value; // Point is a type value
280284
temp.Offset(pageViewPanel.HorizontalOffset, pageViewPanel.VerticalOffset);

0 commit comments

Comments
 (0)