0

我试图做一个长ListBox的,每个ListBoxItem都是一个里面有一个 100x100 小标志的瓷砖。现在它非常慢 - 使用超过 5-6 秒只是为了变得响应。由于图像是从网络异步下载的(并且每个图像都存储在每个自己的模型实例中),我不知道如何检查它们何时全部下载(即没有进度指示器来覆盖延迟)。

您对我如何以最有效的方式做到这一点有任何想法吗?

XAML:

                 <ListBox>
                    <ListBox.ItemsPanel>
                        <ItemsPanelTemplate>
                            <toolkit:WrapPanel />
                        </ItemsPanelTemplate>
                    </ListBox.ItemsPanel>

                    <ListBox.Template>
                        <ControlTemplate>
                            <ItemsPresenter />
                        </ControlTemplate>
                    </ListBox.Template>

                    <ListBox.ItemTemplate>
                        <DataTemplate>
                            <StackPanel>
                                <ListBoxItem>
                                    <Grid Name="ChannelTile" Tap="ChannelTile_Tap">
                                        <Rectangle Fill="{StaticResource LightGrayColor}" />
                                        <Image Style="{StaticResource Tiles_Image}" Source="{Binding Image}" />
                                    </Grid>
                                </ListBoxItem>
                            </StackPanel>
                        </DataTemplate>
                    </ListBox.ItemTemplate>
                </ListBox>
4

1 回答 1

1

如果您通过 URL 引用绑定中的图像 (Source={Binding Image}),请尝试使用 PhonePerformance (http://nuget.org/packages/PhonePerformance) 中的 LowProfileImageLoader

于 2012-07-03T14:27:50.347 回答