Ваш предмет появляется в списке, но только дальше? Если это так, все, что вам нужно сделать, это сказать списку, чтобы прокрутить этот элемент в поле зрения. Вы можете сделать это, подписавшись на ColllectionChanged свойства ListBox.Items. Сделать это немного сложно, потому что вы должны разыграть его, но вы можете сделать это с помощью кода, подобного следующему:
((INotifyCollectionChanged)MainListBox.Items).CollectionChanged += ListBox_CollectionChanged;
Затем внутри этого события вы можете добавить код, подобный этому:
private void ListBox_CollectionChanged(object sender, NotifyCollectionChangedEventArgs e)
{
if (e.NewItems.Count > 0)
{
Dispatcher.BeginInvoke(() =>
{
MainListBox.ScrollIntoView(e.NewItems[0]);
}, DispatcherPriority.SystemIdle);
}
}
Также я только что нашел способ, которым вы можете сделать это с помощью прикрепленного свойства, которое довольно круто. Проверьте это здесь:
http://michlg.wordpress.com/2010/01/16/listbox-automatically-scroll-currentitem-into-view/