ListView - высота полосы прокрутки постоянно меняется при прокрутке - PullRequest
3 голосов
/ 04 ноября 2011

У меня есть ListView, который явно заполнен (без привязки) с ListViewItems.Большая часть предметов должна быть видна, а остальные должны оставаться свернутыми.Все элементы имеют одинаковую высоту.

Проблема в том, что если у меня есть 100 элементов, и первые 60 видны, а нижние 40 находятся в свернутом состоянии, высота полосы прокрутки становится чем-то основанным на предположении, что все элементы100 элементов находятся в видимом состоянии, а высота полосы прокрутки становится меньше, чем должна быть.Но когда я прокручиваю до 60, он понимает, что остальные 40 находятся в свернутом состоянии, и поэтому увеличивает высоту полосы прокрутки, чтобы сделать ее подходящей для 60 элементов в представлении списка.

Сначала я думал, что это может быть из-завиртуализации.Но я не имею никакой привязки данных к представлению списка.Я также попытался установить высоту элементов в 0, которые должны быть в свернутом состоянии, что не дало мне желаемого результата.

Что мне нужно, так это если 60 видимых элементов и 40 свернутых, тоВысота полосы прокрутки должна основываться только на 60 элементах в виде списка и должна оставаться постоянной.Можно ли добиться?

Ответы [ 2 ]

4 голосов
/ 19 сентября 2013

У меня была точно такая же проблема, и ответ можно найти здесь: Ползунок полосы прокрутки списка меняет размер, когда содержимое переменной высоты

Вскоре добавьте ScrollViewer.CanContentScroll="False" в ListBox, и полоса прокрутки будет иметь постоянную высоту независимо от количества свернутых элементов.

Кстати, я знаю, что этому вопросу почти 2 года, но я бы хотел оставить его для дальнейшего использования.

2 голосов
/ 04 ноября 2011

Я не уверен, что заставило вас решить, что это не виртуализация, а то, что должно быть. Попробуйте отключить виртуализацию:

<ListView VirtualizingStackPanel.IsVirtualizing="False"  ...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...