WrapGrid和很多图片

时间:2013-09-24 20:45:17

标签: c# windows-runtime winrt-xaml

我将带有WrapGrid的GridView作为ItemTemplate。它看起来像:

<GridView ItemsSource={Binding MyItemSource}>
    <GridView.ItemTemplate>
        <DataTemplate>
             <Image Width="250" Height="250">
                  <Image.Source>
                       <BitmapImage UriSource="{Binding }" DecodePixelWidth=250/>
                  </Image.Source>
             </Image>
        </DataTemplate>
     </GridView.ItemTemplate>

     <GridView.ItemsPanel>
          <ItemsPanelTemplate>
               <WrapGrid/>
           </ItemsPanelTemplate>
     </GridView.ItemsPanel>
</GridView>

MyItemSource包含Uri的图像文件(很多Uri)。由于虚拟化过程,它在没有OutOfMemoryException的情况下工作。然而,当我决定滚动“快速和远离”时,对于滚动区域中“之间”的图像存在大量不必要的加载工作。 (很多不必要的CPU,磁盘和内存使用)我想在用户不滚动时开始加载进程(当用户停止滚动时,不加载滚动时只看片刻的图像)。有可能吗?

1 个答案:

答案 0 :(得分:1)

如果您使用的是Windows 8.1,则可以使用ContainerContentChanging事件并控制在什么时间呈现的内容。