diff --git a/src/Views/TextDiffView.axaml.cs b/src/Views/TextDiffView.axaml.cs index 85e8ebc9..784f7b40 100644 --- a/src/Views/TextDiffView.axaml.cs +++ b/src/Views/TextDiffView.axaml.cs @@ -11,6 +11,7 @@ using Avalonia.Controls; using Avalonia.Data; using Avalonia.Input; using Avalonia.Interactivity; +using Avalonia.LogicalTree; using Avalonia.Media; using Avalonia.Threading; using Avalonia.VisualTree; @@ -1405,7 +1406,9 @@ namespace SourceGit.Views return; var line = Math.Max(1, Math.Min(total, (int)Math.Ceiling(pressedY * total / height))); - this.FindAncestorOfType()?.ScrollToLine(line); + if (this.Parent is Control parent) + parent.FindLogicalDescendantOfType()?.ScrollToLine(line); + e.Handled = true; } @@ -1458,11 +1461,6 @@ namespace SourceGit.Views InitializeComponent(); } - public void ScrollToLine(int line) - { - this.FindDescendantOfType()?.ScrollToLine(line); - } - protected override void OnPropertyChanged(AvaloniaPropertyChangedEventArgs change) { base.OnPropertyChanged(change);