我注意到FlipView控件一次会将3个项目保留在内存中。它将当前所选项目以及项目直接保留在所选项目的左侧和右侧(如果方向垂直,则保留在上方/下方)。
跳转到不同的flipview项目时会产生一些不必要的副作用。而且它们在Surface RT设备上特别明显(因为它太慢了)。
是否有某种方法可以将所有flipview项目保留在内存中,以便在您轻扫时不会加载和卸载它们?
或者也许是一种在加载时隐藏flipview项目的方法?
感谢您的帮助。
答案 0 :(得分:2)
为防止虚拟化,您可以通过StackPanel替换ItemPanelTemplate中的VirtualizeStackPanel:
<ItemsPanelTemplate x:Key="ItemsPanelTemplate1">
<StackPanel AreScrollSnapPointsRegular="True" Orientation="Horizontal" />
</ItemsPanelTemplate>
但是你必须小心权衡,因为它会加载第一个导航中的所有项目并将它们保存在内存中,直到你离开。
也许更好的方法是更多地考虑加载最多的时间并尝试优化(例如,如果它加载图像或在加载时进行一些数据处理)。