Skip to content

Commit 7802d7b

Browse files
authored
Add auto-scroll to level list (#45)
Resolves #43.
1 parent 56de5e9 commit 7802d7b

1 file changed

Lines changed: 10 additions & 0 deletions

File tree

TRRandoTracker/Windows/MainWindow.xaml.cs

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -154,6 +154,7 @@ private void TrackingChanged(TrackingEventArgs e)
154154
_resetMenu.IsEnabled = true;
155155
_listView.ItemsSource = LevelViewList.Get(e.Levels, e.CurrentSequence);
156156
break;
157+
157158
case TrackingStatus.InLevel:
158159
if (!_timer.IsEnabled && e.CurrentSequence != -1)
159160
{
@@ -164,11 +165,20 @@ private void TrackingChanged(TrackingEventArgs e)
164165
_gameInProgress = true;
165166
_resetMenu.IsEnabled = false;
166167
_listView.ItemsSource = LevelViewList.Get(e.Levels, e.CurrentSequence);
168+
169+
object focusItem = _listView.Items.GetItemAt(e.CurrentSequence == _listView.Items.Count - 1
170+
? e.CurrentSequence : e.CurrentSequence + 1);
171+
if (focusItem != null)
172+
{
173+
_listView.ScrollIntoView(focusItem);
174+
}
167175
break;
176+
168177
case TrackingStatus.Credits:
169178
_timer.Stop();
170179
_stopwatch.Stop();
171180
break;
181+
172182
case TrackingStatus.ExeStopped:
173183
_timer.Stop();
174184
_stopwatch.Stop();

0 commit comments

Comments
 (0)