我有一个显示图像的 FlipView。我希望用户能够选择是否要一次查看一张或两张图像。这可以通过一个集合来完成,还是我需要为两种模式设置两个不同的集合?
我现在拥有的单个图像是一个名为 PageCollection 的集合,其中包含一个名为 Page 的类,该类具有 Image 属性。
<FlipView x:Name="flipView" ItemsSource="{Binding PageCollection}">
<FlipView.ItemTemplate>
<DataTemplate>
<Image Source="{Binding Image, Converter={StaticResource ImageConverter}}"/>
</DataTemplate>
</FlipView.ItemTemplate>
</FlipView>
我认为我可以解决它的方法是拥有另一个集合,该集合保留像 Pages 这样具有两个图像属性而不是一个的类。像这样:
<FlipView x:Name="flipView" ItemsSource="{Binding PageCollection2}">
<FlipView.ItemTemplate>
<DataTemplate>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Image Source="{Binding Image1, Converter={StaticResource ImageConverter}}"/>
<Image Source="{Binding Image2, Converter={StaticResource ImageConverter}}"/>
</Grid>
</DataTemplate>
</FlipView.ItemTemplate>
</FlipView>
然后在需要时切换 ItemsSource 和 DataTemplate。但这感觉不是正确的方法,因为保持两个集合同步似乎很麻烦。是否可以通过单个集合或其他更有效的方式来解决这个问题?