Gary, if you want to scroll to a particular position of the listbox, you can just set the selectedindex/item of the listbox.
If, however, you want to scroll through the listbox items, one after another, you can use the below code sample:
private void Button_Click(object sender, RoutedEventArgs e)
myDispatcherTimer = new DispatcherTimer();
myDispatcherTimer.Interval = new TimeSpan(0, 0, 0, 0, 500); // 500 Milliseconds
myDispatcherTimer.Tick += myDispatcherTimer_Tick;
void myDispatcherTimer_Tick(object sender, EventArgs e)
if(counter == AutoScrollListBox.Items.Count)
AutoScrollListBox.SelectedIndex = counter;
That is not what I am looking for. Your code causes a listbox_SelectionChanged event which I do not want to do (I want to do this only when an item is selected). I'm looking to do exactly what the scrollbar does i.e. scroll the list without causing a selectionchanged event.