Cuadrícula de fotos cuadradas de URLs Windows Phone 7 usando WrapPanel

Tengo un servicio web que devuelve alrededor de 100 fotos y me gustaría mostrarlas todas en una cuadrícula de 3xN en Windows Phone 7.

Probé el WrapPanel y funciona, pero solo para unas pocas imágenes. Algo más, me quedo sin memoria y la depuración se detiene.

Código:

<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>

Coloco todas mis imágenes en una matriz de cadenas y luego las vinculo al cuadro de lista.

¿Hay algo que pueda hacer para mostrar una cuadrícula de fotos descargadas de un servicio web sin consumir toda la memoria? Gracias

preguntado el 22 de mayo de 12 a las 20:05

1 Respuestas

Recomendaría perfilar el código para identificar cuál es la causa real del uso de la memoria, pero supongo que probablemente esté [descargando] imágenes que son mucho más grandes de lo que necesita si solo las muestra como 110x110px versión. Incluso si los muestra estirados (reducidos) a un tamaño más pequeño, la imagen completa se carga en la memoria. Si son imágenes grandes, el uso de la memoria aumentará muy rápidamente.

Hay algunos consejos útiles relacionados con las imágenes y la memoria en http://blogs.msdn.com/b/swick/archive/2011/04/07/image-tips-for-windows-phone-7.aspx

contestado el 23 de mayo de 12 a las 10:05

Gracias por el consejo. Por ahora, no mostraré las imágenes en una cuadrícula hasta que tenga más experiencia con C#. Mi nuevo problema es decodificar la matriz de cadenas de URI y encontrar alguna forma de vincularla a un cuadro de lista. - Yudhistre

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.