来自网址Windows Phone 7的方形照片网格,使用WrapPanel

本文关键字:照片 方形 网格 WrapPanel 使用 Windows Phone | 更新日期: 2023-09-27 18:35:11

我有一个返回大约100张照片的Web服务,我想在Windows Phone 7上以3xN网格显示所有照片。

我已经尝试过WrapPanel并且它可以工作,但仅适用于少数图像。再多一点,我就会耗尽内存,调试停止。

法典:

<ListBox Height="600" HorizontalAlignment="Left" Name="screenshotsListBox" VerticalAlignment="Top" Width="420">
                    <ListBox.ItemsPanel>
                        <ItemsPanelTemplate>
                            <toolkit:WrapPanel />
                        </ItemsPanelTemplate>
                    </ListBox.ItemsPanel>
                    <ListBox.ItemTemplate>
                        <DataTemplate>
                            <Grid>
                                <Grid.RowDefinitions>
                                    <RowDefinition Height="Auto" />
                                </Grid.RowDefinitions>
                                <Image Source="{Binding}"
                Margin="0"
                Height="110"
                Width="110"
                CacheMode="BitMapCache"
                Stretch="UniformToFill"
                Grid.Row="0" />
                            </Grid>
                        </DataTemplate>
                    </ListBox.ItemTemplate>
                </ListBox>

我将所有图像放在一个字符串数组中,然后将其绑定到 listBox。

我是否可以做些什么来显示从 Web 服务下载的照片网格而不会占用所有内存?谢谢

来自网址Windows Phone 7的方形照片网格,使用WrapPanel

我建议分析代码以确定内存使用的实际原因是什么,但我猜你可能会[向下]加载比你需要的大得多的图像,如果你只将它们显示为110x110px版本。即使您显示它们被拉伸(缩小)到较小的尺寸,完整图像也会加载到内存中。如果它们是大图像,则内存使用将很快增加。

有一些

与图像和内存相关的有用提示 http://blogs.msdn.com/b/swick/archive/2011/04/07/image-tips-for-windows-phone-7.aspx