0

我已经使用 JerryNixon 发布的这个链接为 gridview 实现了自定义 itempanel 以支持可变项目高度。我的自定义面板支持 3 个不同大小的模板(取决于图像尺寸,我正在决定使用哪个模板)。这个自定义 Gridview 应该有分页,它应该支持200多个项目。现在我只能加载 50 个项目,并且由于1GB 设备中的内存不足异常事件而崩溃。它是项目中的要求之一。我知道当我们实现自定义项目面板时,它会丢失默认虚拟化。

我检查了Pin.it应用程序。他们实现了可变大小的 Gridview 模板,性能非常好,我可以加载 200 多个项目。

有什么方法可以为我的自定义项目面板实现虚拟化?我不知道我们如何实现虚拟化。如果有人已经实现了它,请给我们一些想法如何开始它,这样它会对我们有很大帮助。

我认为不需要发布 wrappanel 代码。如果需要,我会发布它。

请给一些建议。这将非常有帮助:)。谢谢 :)

4

2 回答 2

0

要克服内存不足异常,只需减少图像的像素宽度,您将节省内存,以便可以在页面中加载更多项目。

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

上面的代码可以解决问题。

于 2016-09-01T11:44:20.033 回答
0

最后,我们通过参考链接中发布的代码实现了虚拟化自定义 grdiview。链接中给出的代码用于虚拟化水平网格视图。我稍微更改了代码以将其更改为垂直网格视图。非常感谢发布代码的人。帮了大忙

于 2016-10-26T05:04:41.693 回答