diff --git a/src/Views/CommitMessagePresenter.cs b/src/Views/CommitMessagePresenter.cs index 46b53778..55e1dfb1 100644 --- a/src/Views/CommitMessagePresenter.cs +++ b/src/Views/CommitMessagePresenter.cs @@ -114,7 +114,23 @@ namespace SourceGit.Views { base.OnPointerMoved(e); - if (e.Pointer.Captured == null && _matches != null) + if (e.Pointer.Captured == this) + { + var relativeSelfY = e.GetPosition(this).Y; + if (relativeSelfY <= 0 || relativeSelfY > Bounds.Height) + return; + + var scrollViewer = this.FindAncestorOfType(); + if (scrollViewer != null) + { + var relativeY = e.GetPosition(scrollViewer).Y; + if (relativeY <= 8) + scrollViewer.LineUp(); + else if (relativeY >= scrollViewer.Bounds.Height - 8) + scrollViewer.LineDown(); + } + } + else if (_matches != null) { var point = e.GetPosition(this) - new Point(Padding.Left, Padding.Top); var x = Math.Min(Math.Max(point.X, 0), Math.Max(TextLayout.WidthIncludingTrailingWhitespace, 0)); diff --git a/src/Views/RevisionFileContentViewer.axaml b/src/Views/RevisionFileContentViewer.axaml index eef7605c..67ba5913 100644 --- a/src/Views/RevisionFileContentViewer.axaml +++ b/src/Views/RevisionFileContentViewer.axaml @@ -48,10 +48,12 @@ - - - - + + + + + +