Можно ли использовать VirtualizingStackPanel в FlipView?
В настоящее время мой FlipView позволяет пользователю выбирать несколько изображений из локальной папки "Изображения", а затем отображать выбранные изображения в FlipView. Однако это будет работать, только если пользователь выберет небольшое количество картинок. Когда выбрано слишком много больших изображений, приложение вылетает. Я читал, что VirtualizingStackPanel хранит 3 изображения в памяти (до, текущее, после), так что не все изображения загружаются одновременно.
Это мой FlipView (отредактированный 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>
1 ответ
Да, если вы используете VirtualizingStackPanel, он будет повторно использовать элементы, и если у вас не будет проблем с большими коллекциями данных. Попробуй это:
<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>