Виртуализация WrapPanel для WP7 - PullRequest
1 голос
/ 02 ноября 2011

Мне нужно создать панель обертки с моими друзьями в Facebook, что означает, что количество предметов превышает 400, а загрузка всех предметов занимает 5-10 секунд.

   <ListBox.ItemsPanel>
        <ItemsPanelTemplate>
            <toolkit:WrapPanel/>
        </ItemsPanelTemplate>
    </ListBox.ItemsPanel>

Этот код был бы хорош, но он помещает все элементы в 1 строку ...:

    <ListBox.ItemsPanel>
        <ItemsPanelTemplate>
            <VirtualizingStackPanel Orientation="Horizontal"/>
        </ItemsPanelTemplate>
    </ListBox.ItemsPanel>

Любые идеи, как добавить перенос элементов в VirtualizingStackPanel или как добавить виртуализацию в WrapPanel:

Ответы [ 2 ]

0 голосов
/ 19 декабря 2011

Я использовал его, создав простой список, в котором каждый элемент содержал панель стека с 4 изображениями. веселит

0 голосов
/ 02 ноября 2011

Хорошо, суть WrapPanel в том, что она подстраивается под размер содержимого. Таким образом, необходимо определить все элементы, чтобы определить размер.

Так что вам практически не повезло, когда дело доходит до виртуализации этой части. Однако, если вы загружаете 400 изображений, вы можете использовать LowProfileImageLoader , чтобы значительно повысить скорость загрузки.

Вы можете найти зеркало исходного кода LowProfileImageLoader на моем GitHub .

...