Мне пришлось принудительно вызвать ScrollIntoView
в потоке пользовательского интерфейса, и это, похоже, помогло.
Вот пример этой работы.
dd это как обработчик события нажатия кнопки со значком на панели приложения в новом приложении DataBound.
private void ApplicationBarIconButton_Click(object sender, EventArgs e)
{
App.ViewModel.Items.Add(new ItemViewModel
{
LineOne = "new L1",
LineTwo = "new L2",
LineThree = "new L3"
});
Dispatcher.BeginInvoke(() =>
MainListBox.ScrollIntoView(MainListBox.Items.Last()));
}