WrapGrid和很多图像
本文关键字:图像 WrapGrid | 更新日期: 2023-09-27 18:32:34
我有GridView和WrapGrid作为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,磁盘和内存使用)我想在用户不滚动时开始加载过程(当用户停止滚动时,不加载滚动时仅看到片刻的图像)。可能吗?
如果您使用的是 Windows 8.1,则可以利用 ContainerContentChanging 事件并控制在什么时间呈现的内容。