From cc661d3226b8379bb7704b58b8a1da842514ea45 Mon Sep 17 00:00:00 2001 From: ZCShou <72115@163.com> Date: Tue, 25 May 2021 13:50:33 +0800 Subject: [PATCH] =?UTF-8?q?feature:=20=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E5=90=8C=E6=AD=A5=E9=AB=98=E4=BA=AE=E9=80=89=E4=B8=AD=E8=A1=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Views/Widgets/DiffViewer.xaml.cs | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/Views/Widgets/DiffViewer.xaml.cs b/src/Views/Widgets/DiffViewer.xaml.cs index b8a13aef..41a82d5c 100644 --- a/src/Views/Widgets/DiffViewer.xaml.cs +++ b/src/Views/Widgets/DiffViewer.xaml.cs @@ -318,10 +318,12 @@ namespace SourceGit.Views.Widgets { oldEditor = CreateTextEditor(new string[] { "OldLine" }); oldEditor.SetValue(Grid.ColumnProperty, 0); oldEditor.AddHandler(ScrollViewer.ScrollChangedEvent, new ScrollChangedEventHandler(OnTextDiffSyncScroll)); + oldEditor.SelectionChanged += new SelectionChangedEventHandler(OnTextDiffSyncSelected); newEditor = CreateTextEditor(new string[] { "NewLine" }); newEditor.SetValue(Grid.ColumnProperty, 1); newEditor.AddHandler(ScrollViewer.ScrollChangedEvent, new ScrollChangedEventHandler(OnTextDiffSyncScroll)); + newEditor.SelectionChanged += new SelectionChangedEventHandler(OnTextDiffSyncSelected); editors.Add(oldEditor); editors.Add(newEditor); @@ -601,6 +603,20 @@ namespace SourceGit.Views.Widgets { } } + + private void OnTextDiffSyncSelected(object sender, SelectionChangedEventArgs e) { + DataGrid dG = sender as DataGrid; + int Index = dG.SelectedIndex; + + foreach (var editor in editors) { + if (editor == sender || editor.SelectedIndex == Index) { /// 对于事件发起者不用处理 + continue; + } + + editor.SelectedIndex = Index; ///* 这里更改后,会导致再次进入改接口 + } + } + private void OnTextDiffBringIntoView(object sender, RequestBringIntoViewEventArgs e) { e.Handled = true; }