Мой прототип отображает "документы", которые содержат "страницы", которые представлены изображениями миниатюр. Каждый документ может иметь любое число страниц. Например, могло бы быть 1 000 документов с 5 страницами каждый или 5 документов с 1 000 страниц каждый или где-нибудь промежуток. Документы не содержат другие документы. В моей xaml разметке у меня есть a ListBox
, чей ItemsTemplate
ссылается на innerItemsTemplate, который также имеет a ListBox
. Я хочу 2 уровня выбранных пунктов так, чтобы я мог выполнить различные операции на документах, или страницы (удалите, объединитесь, переместитесь в новое местоположение, и т.д.). innerItemsTemplate ListBox
использование a WrapPanel
как ItemsPanelTemplate
.
Для сценария, где у меня есть большое количество документов с несколькими страницами каждый (говорят, 10 000 документов с 5 страницами каждый), прокрутка работает отлично благодаря Виртуализации UI VirtualizingStackPanel
. Однако у меня есть проблемы, если у меня есть большое количество страниц. Документ с 1 000 страниц только отобразит приблизительно 50 за один раз (безотносительно соответствий на экране), и когда я прокручу вниз, внешнее ListBox
перемещения к следующему документу, пропуская 950 страниц или так, чтобы не были видимы. Наряду с этим, существует нет VirtualzingWrapPanel
таким образом, память приложения действительно увеличивается.
Я задаюсь вопросом, иду ли я об этом правильным путем, тем более, что это - вид трудных для объяснения! Я хотел бы смочь отобразить 10 000 документов с 1 000 страниц каждый (только показывающий любые соответствия на экране), с помощью Виртуализации UI и также гладкой прокрутки.
Как я могу удостовериться перемещения прокрутки через все страницы в документе, прежде чем он отобразит следующий документ, и все еще сохраните виртуализацию UI? Полоса прокрутки, кажется, только перемещается в следующий документ.
Кажется логичным представить "документы" и "страницы" - с моим существующим методом использования a ListBox
в a ListBox
?
Я был бы очень признателен за любые идеи, которые Вы имеете.Спасибо.