diff --git a/Terminal.Gui/Views/ListView.cs b/Terminal.Gui/Views/ListView.cs index 8b502c6d1..1b0d117cb 100644 --- a/Terminal.Gui/Views/ListView.cs +++ b/Terminal.Gui/Views/ListView.cs @@ -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; } diff --git a/UnitTests/Views/ListViewTests.cs b/UnitTests/Views/ListViewTests.cs index f3b9a7d08..3b037e608 100644 --- a/UnitTests/Views/ListViewTests.cs +++ b/UnitTests/Views/ListViewTests.cs @@ -224,7 +224,6 @@ namespace Terminal.Gui.ViewTests { var source = new List () { "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