来自网址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 服务下载的照片网格而不会占用所有内存?谢谢
我建议分析代码以确定内存使用的实际原因是什么,但我猜你可能会[向下]加载比你需要的大得多的图像,如果你只将它们显示为110x110px版本。即使您显示它们被拉伸(缩小)到较小的尺寸,完整图像也会加载到内存中。如果它们是大图像,则内存使用将很快增加。
有一些与图像和内存相关的有用提示 http://blogs.msdn.com/b/swick/archive/2011/04/07/image-tips-for-windows-phone-7.aspx