目前我的FlipView允许用户从本地图片文件夹中选择多张图片,然后在FlipView中显示所选图片。但是,它仅在用户选择少量图片时才有效。当选择太多大图像时,应用程序崩溃。我读到VirtualizingStackPanel将3个图像存储在内存中(之前,之后,之后),这样就不会立即加载所有图像。
这是我的FlipView(11月14日编辑)。
<FlipView x:Name="flpView" Grid.Row="1" Margin="10, 10, 10, 10">
<FlipView.ItemsPanel>
<ItemsPanelTemplate>
<VirtualizingStackPanel Orientation="Horizontal"/>
</ItemsPanelTemplate>
</FlipView.ItemsPanel>
<FlipView.ItemTemplate>
<DataTemplate>
<Grid>
<Image Source="{Binding}" Stretch="Uniform"/>
</Grid>
</DataTemplate>
</FlipView.ItemTemplate>
</FlipView>
答案 0 :(得分:0)
是的,如果您使用VirtualizingStackPanel,它将重用Ítems,如果您不会遇到大数据集合的问题。试试这个:
<FlipView HorizontalAlignment="Left" Height="464" Margin="718,288,0,0" VerticalAlignment="Top" ItemsSource="{Binding YourSource}" ItemTemplate="{StaticResource ImageTemplate}">
<FlipView.ItemsPanel>
<ItemsPanelTemplate>
<VirtualizingStackPanel/>
</ItemsPanelTemplate>
</FlipView.ItemsPanel>
</FlipView>