Windows phone 8.1 为自定义可变大小的 Gridview 实现虚拟化

Windows phone 8.1 Implement virtualization for Custom variable sized Gridview

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

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

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

我认为 post 不需要包装面板代码。如果需要,我会 post 它。

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

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

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

上面的代码就可以了。

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