From ee657f5d5c50985353305bb8c2a4fcae4295faad Mon Sep 17 00:00:00 2001 From: leo Date: Wed, 27 Aug 2025 17:57:31 +0800 Subject: [PATCH] enhance: use `Parent` instead of find `TextDiffView` first before find first `ThemedTextDiffPresenter` Signed-off-by: leo --- src/Views/TextDiffView.axaml.cs | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) 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);