Есть ли обходной путь для виртуализации списка ItemsControl при настройке CanContentScroll = "false"? - PullRequest
2 голосов
/ 06 марта 2012

Как я узнал в Виртуализация ItemsControl? , мне нужно установить

ScrollViewer.CanContentScroll = "true"

чтобы иметь возможность виртуализировать список в моем ItemsControl. Однако это вызывает много проблем с прокруткой, включая, но не ограничиваясь, ухабистую прокрутку и часть моего расширенного ребенка, чтобы обрезаться в нижней части окна. Я много гуглил, и, похоже, у многих людей возникают проблемы с этим. Однако мне еще не приходилось сталкиваться с какими-либо обходными путями.

У кого-нибудь есть решение этой проблемы?

Ответы [ 3 ]

2 голосов
/ 06 марта 2012

Нет простого или легкого обходного пути;VirtualizingStackPanel - это то, что есть и может быть несколько ограничено.Большинство решений требуют либо написания пользовательской панели виртуализации, либо поставщика данных виртуализации.Этот пост в блоге может помочь вам найти решение, которое работает для вас:

http://bea.stollnitz.com/blog/?p=344

0 голосов
/ 16 мая 2012

Вы можете использовать <ListView VirtualizingStackPanel.IsVirtualizing="False">, чтобы отключить виртуализацию панели стека в виде списка. В этом случае может быть ограничение на невозможность включить виртуализацию, но вы можете попробовать включить ее вручную и посмотреть, работает ли она.

0 голосов
/ 06 марта 2012

Возможно, вы можете оставить CanContentScroll = true и заблокировать прокрутку с помощью другой техники.

...