Виртуальная панель, которая не обрезает элементы

Итак, очень глупо выглядит коллекция без хрома, если элементы обрезаются в конце области прокрутки.

Я хочу создать виртуализирующую панель для коллекций (ItemsControl/ListBox), которая бы рисовала только целые элементы, но никогда не части элементов. Например:

 ______________
|              |
|______________|
 ______________
|              |
|______________|
 ______________
|              |

enter image description here

Я не хочу, чтобы отображался 3-й частичный контейнер, если нет места для отображения ЦЕЛОГО элемента/контейнера. В примерах третий элемент был обрезан из-за нехватки места.

Есть предложения? Должен ли я пытаться изобрести колесо (создать свою собственную VirtualizingWholeItemPanel)?

EDIT:

Microsoft уточнила, что VirtualizingPanel.ScrollUnit вовсе не предназначен для выполнения этой функциональности. Похоже, что VirtualizingPanel.ScrollUnit служит цели, очень похожей на старую CanContentScroll на ScrollViewer.

5
задан Josh G 26 March 2012 в 15:29
поделиться