Windows Phone ListBox: как его прокрутить? - PullRequest
1 голос
/ 19 декабря 2011

У меня есть ListBox (динамически заполняется с помощью кода):

(я не могу вставить код, ба)

Мне нужно, с помощью кнопки, переместить этот списоквертикально.Список имеет фиксированную высоту, а также элементы.

Может кто-нибудь мне помочь?

Ответы [ 2 ]

1 голос
/ 19 декабря 2011

По MSDN, похоже, это приемлемый для вас ответ?
Метод ListBox.ScrollIntoView

Правка - Комментарий Сводка ответа: Вопрос здесь был нацелен на саму прокрутку, а не к конкретному объекту.Таким образом, необходимым действием было получение ссылки на ScrollViewer в ListBox.Оттуда необходимо сделать вызов метода ScrollToVerticalOffset ScrollViewer's.Поскольку ОП хотел прокрутить вниз на определенную величину от исходной позиции, свойство ScrollViewer VerticalOffset было включено в вызов.

0 голосов
/ 20 февраля 2015

Это работает. Установите ListBox не прокручивать, а затем добавьте ScrollViewer вокруг него. Теперь в своем коде вы можете установить ScrollViewer на все, что вы хотите.

XAML:

<!--Disable the ListBox scroll and add a ScrollViewer so we have control over the scroll position.-->
    <ScrollViewer 
             Name="scrlvwrListBoxMessages"
             VerticalScrollBarVisibility="Auto" >
        <ListBox x:Name="lstbxMessages"
             ScrollViewer.VerticalScrollBarVisibility="Disabled" >
</ListBox>
</ScrollViewer>

Код:

    private void ScrollToBottom()
    {
        //Scroll to the bottom.
        Dispatcher.BeginInvoke(() =>
        {
            this.scrlvwrListBoxMessages.ScrollToVerticalOffset(double.MaxValue);
        });
    }
...