我正在尝试制作一个长ListBox
,其中每个ListBoxItem
都是一个内部有一个小的100x100徽标的磁贴。现在它非常慢 - 使用超过5-6秒才能变得敏感。由于图像是从web异步下载的(并且每个图像都存储在每个自己的模型实例中),我不知道如何检查它们何时全部下载(即没有进度指示器来覆盖延迟)。
您是否知道如何以最有效的方式做到这一点?
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>
答案 0 :(得分:1)
如果您通过URL引用绑定中的图像(Source = {Binding Image}),请尝试使用PhonePerformance中的LowProfileImageLoader(http://nuget.org/packages/PhonePerformance)