2013-09-24 74 views
2

我有GridView與WrapGrid作爲ItemTemplate。它看起來像:WrapGrid和很多圖片

<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

如果您使用Windows 8.1,則可以使用ContainerContentChanging事件並控制在什麼時間渲染的內容。