Проблема прокрутки сетки данных WPF - PullRequest
2 голосов
/ 25 августа 2011

есть вид поиска (приложение MVP - PRISM WPF), у которого были некоторые проблемы с прокруткой. прокрутка потребовалась очень много времени, когда вы нажимали кнопки полосы прокрутки. Нажмите и перетащите полосу прокрутки было еще хуже!

учитывая, что мне нравятся аномалии, я выбрал их и начал изучать, что происходит не так. Я подозревал многие вещи, но, очевидно, проблема с прокруткой сетки данных была из-за "ScrollViewer.CanContentScroll = True", я удалил его, и прокрутка была приятным опытом по сравнению с ранее.

Теперь мне стало интересно, почему мои разработчики назвали это свойство истинным, и через пару минут я обнаружил, что «Выполнение вниз страницы» прокручивает больше, чем страницу без свойства CanContentScroll, помеченного как истинное!

Теперь мне нужно, чтобы прокрутка была быстрее, а также мне нужна страница вниз и страница вверх для прокрутки, как и ожидалось! Может кто-нибудь сказать мне, что мне здесь не хватает ?? Спасибо!

1 Ответ

0 голосов
/ 29 января 2012

У меня были похожие проблемы с сеткой данных: медленная прокрутка, а также случайное изменение размера полосы прокрутки.
Я сделал следующее: 1) упростил шаблоны ячеек (больше нет вложенных границ и нескольких цветов, ToggleButtons вместо CheckBoxes) 2) в коде используются замороженные цвета.
это помогло ускорить процесс, но не решило проблему. Затем я установил высоту шаблонов строк / ячеек, а также свойство RowHeight, и тогда все было в порядке: у меня была как плавная, так и обычная полоса прокрутки. Поэтому я предполагаю, что DataGrid не смог вычислить размер того, что осталось отобразить, что сделало как прокрутку медленной, так и полосу прокрутки, имеющую изменяющийся размер. (Тем не менее, все строки / ячейки имели одинаковую фактическую высоту в своих шаблонах, поскольку они были определены с теми же элементами управления, но свойство Высота не было установлено ...)
Надеюсь, что это может помочь.

...