1

目前我的 FlipView 允许用户从本地 Pictures 文件夹中选择多张图片,然后在 FlipView 中显示选定的图像。但是,它仅在用户选择少量图片时才有效。When too many large images are selected, the app crashes. 我读到 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>
4

1 回答 1

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>
于 2013-11-12T12:05:32.327 回答