| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > WPF и Silverlight > ListView прокрутка списка. |
| Автор: hexzo 23.9.2011, 09:19 | ||||
Вообщем этот способ работает в нормальном месте.
Но то же самое не работает в ненормальном месте, в селекторе шаблона для элемента списка
Судя по отладочным сообщением это место в коде обрабатывается, ListView нужный, количество элементов вроде бы верное. А список не прокручивается. P.S. Поправка, это нормальный список прокручивается, а мой нет. |
| Автор: hexzo 23.9.2011, 09:44 |
| Проблема заключалась в том что у меня каким то образом список непонятно когда обновляется. 1) У меня добавляется элемент в ресурс данных для списка. 2) Затем я вызываю InotifyPropertyChanged(); Если вызвать прокрутку списка перед INotifyPropertyChanged, то естественно ничего не происходит. Если после, то список прокручивается, что тоже логично. А если вызывать прокрутку на TextBox.LoadedEvent, который является частью добавляемого в список элемента, то ничего не происходит. Почему? |
| Автор: Gvozdin 23.9.2011, 12:25 |
| Виртуализация в ListView выключена? Непонятно в какой момент у вас происходит TextBox.Loaded. С ресурсами тоже непонятно что происходит. Какой сценарий вообще? Если не в событии работает, то просто ListView не готов ещё может быть. Как быстрое решение так же можно попробовать запустить ScrollIntoView через Dispatcher.BeginInvoke с приоритетом Background. |
| Автор: hexzo 23.9.2011, 13:24 | ||||
В описании свойств не нашёл никакой виртуализации, что это?
1) Добавление в ресурс_для_списка ещё одного элемента. 2) Вызов InotifyPropertyChanged для ресурса_для_списка. 3) потом происходит отрисовка текстбокса, который является частью визуального отображения элемента в списке. 4) когда отрисовка заканчивается, вызывается Loaded у текстбокса. И если на этот Loaded повесить прокрутку списка, то она не работает. |
| Автор: Gvozdin 23.9.2011, 21:31 |
| Виртуализация это грубо говоря VirtualizingStackPanel.IsVirtualizing, но оно тут не влияет. Сценарий понятен. Я сделал такой же, у меня всё прокручивается. Вот про это поподробнее: Какой "мой" список? |
| Автор: hexzo 23.9.2011, 22:59 | ||||
Gvozdin
Ну, значит это у меня что-то намудрено. Хз. как это отловить.
Подвергнутый творческим мутациям. Короче тот список что в составе программы. |