У меня есть ListBox (динамически заполняется с помощью кода):
(я не могу вставить код, ба)
Мне нужно, с помощью кнопки, переместить этот списоквертикально.Список имеет фиксированную высоту, а также элементы.
Может кто-нибудь мне помочь?
По MSDN, похоже, это приемлемый для вас ответ? Метод ListBox.ScrollIntoView
Правка - Комментарий Сводка ответа: Вопрос здесь был нацелен на саму прокрутку, а не к конкретному объекту.Таким образом, необходимым действием было получение ссылки на ScrollViewer в ListBox.Оттуда необходимо сделать вызов метода ScrollToVerticalOffset ScrollViewer's.Поскольку ОП хотел прокрутить вниз на определенную величину от исходной позиции, свойство ScrollViewer VerticalOffset было включено в вызов.
Это работает. Установите 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); }); }