Run EnsureSelectedItemVisible on OnSelectedChanged.

This commit is contained in:
BDisp
2023-03-29 12:06:44 +01:00
parent 0656662b12
commit 3e504ca8e8
2 changed files with 2 additions and 10 deletions

View File

@@ -685,6 +685,7 @@ namespace Terminal.Gui {
var value = source?.Count > 0 ? source.ToList () [selected] : null;
SelectedItemChanged?.Invoke (this, new ListViewItemEventArgs (selected, value));
lastSelectedItem = selected;
EnsureSelectedItemVisible ();
return true;
}

View File

@@ -224,7 +224,6 @@ namespace Terminal.Gui.ViewTests {
var source = new List<string> () { "First", "Second" };
ListView lv = new ListView (source) { Width = Dim.Fill (), Height = 1 };
lv.SelectedItem = 1;
lv.EnsureSelectedItemVisible ();
Application.Top.Add (lv);
Application.Begin (Application.Top);
@@ -512,18 +511,10 @@ Item 2
Item 3
Item 4", output);
// EnsureSelectedItemVisible is auto enabled on the OnSelectedChanged
lv.SelectedItem = 6;
Application.Refresh ();
TestHelpers.AssertDriverContentsWithFrameAre (@"
Item 0
Item 1
Item 2
Item 3
Item 4", output);
lv.EnsureSelectedItemVisible ();
Application.Refresh ();
TestHelpers.AssertDriverContentsWithFrameAre (@"
Item 2
Item 3
Item 4