прокрутить список вниз автоматически - PullRequest
1 голос
/ 11 ноября 2010

На сетке у меня есть ListBox и кнопка.Если кнопка нажата, элемент добавляется в список.

Проблема, которую я пытаюсь исправить, заключается в том, что после добавления элемента он не фокусируется.автоматически прокрутите список вниз, чтобы пользователь мог видеть элемент, который был добавлен в последнее время.Есть мысли?

Ответы [ 2 ]

2 голосов
/ 24 декабря 2010

Мне пришлось принудительно вызвать 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()));
}
2 голосов
/ 11 ноября 2010

Вы можете установить свойство SelectedIndex, чтобы установить текущий выбранный элемент.

Если он прокручивает страницу, вы можете использовать ScrollIntoView (), чтобы держать нижнюю часть списка, показывающего.

    listBox1.SelectedIndex = listBox1.Items.Count;
    listBox1.ScrollIntoView(listBox1.SelectedItem);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...