0

Я внедрил настраиваемую панель элементов для gridview для поддержки высоты элемента переменной, используя этот link, отправленный JerryNixon.My Пользовательская панель поддерживает 3 разных размера (в зависимости от размера изображения) Я решаю, какой шаблон для использования). Этот пользовательский Gridview должен иметь разбиение на страницы, и он должен поддерживать более 200 элементов. Прямо сейчас я могу загрузить только 50 элементов, и он выходит из строя из-за события исключения из памяти в 1GB устройство. Это одно из требований в проекте. Я знаю, когда мы реализуем пользовательские панели элементов, это портирует виртуализацию по умолчанию.Windows phone 8.1 Реализовать виртуализацию для пользовательской переменной размера Gridview

Я проверил Pin.it приложение. Они внедрили шаблон Gridview с переменным размером, и производительность очень хорошая, я могу загрузить более 200 элементов.

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

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

Просьба привести несколько предложений. Это будет очень полезно :). Спасибо :)

+0

Вы перемещаете изображение в элементах сетки? –

+0

Да .. Itemtemplate в основном имеет изображение – Archana

ответ

0

Наконец, мы внедрили виртуализированный пользовательский интерфейс, обратившись к коду, указанному в ссылке this. Код, указанный в ссылке, предназначен для виртуализации горизонтальной сетки. Я немного изменил код, чтобы изменить его на вертикальное gridview. Большое спасибо человеку, который разместил код. Это помогло много

0

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

<Image Stretch="Uniform" Width="150" Height="170"> 
         <Image.Source> 
          <BitmapImage UriSource="{Binding MainImage}" DecodePixelWidth="400"/> 
         </Image.Source> 
        </Image> 

Приведенный выше код делает трюк.

+0

Я знаю это. Когда мы дадим DecodePixelWidth меньше, чем изображение уже есть. Изображение будет размыто. Я хочу, чтобы фактическая виртуализация была реализована, как повторное использование представлений. Поскольку microsoft не предоставляет этот – Archana

Смежные вопросы