Я просто хочу использовать ListBox
и прокрутить до последней строки. Это не проблема, пока отображается Listbox. Но список находится на TabPage
, и когда я использую другой файл PageIndex и возвращаюсь в свой список ListBox, старый элемент все еще выбран и прокручивается вместо последнего элемента и представления последнего элемента.ScrollintoView on Hided Listbox не работает
Dim st As New StackPanel
'''some code for stackpanel
Me.List1.Items.Add(st)
Me.List1.ScrollIntoView(st)
Любые идеи?
Привет Рахиль. При изменении TabIndex TabControl не восстанавливает и не удаляет элементы управления. Повторите проверку. Я не восстанавливаю и не создаю элементы управления. Просто переключите Tab. При переходе с TAB1 на TAB3 я меняю выбор ListBox на TAB3. Затем я пошел в TAB1, и я создал новый ListEntries для (скрытого) TAB3 в codebehind. Я возвращаюсь к TAB3. Создаются новые элементы. Но команда 'ScrollIntoView' не работала. – Nasenbaer
@Nasenbaer Если шаблон для TabItems тот же, WPF будет перерабатывать отображаемый элемент, а не восстанавливать его. Также, если элемент не отображается (например, ListBox на Tab3 при просмотре Tab1), он не существует в визуальном дереве и не может отвечать на команды типа «ScrollIntoView». Вам нужно либо запустить «ScrollIntoView» в событии «Loaded», если TabItems будут воссозданы, либо в событии «DataContextChanged», если элементы управления TabItem повторно используются. – Rachel
Спасибо Рейчел. Я не смог проверить его, потому что на моей Grid событие загрузки не вызывается с страницы. Это немного особенное. Спасибо за интересный ответ, я этого раньше не знал. – Nasenbaer