我正在构建一个图片查看应用程序。在其中我有一个显示单个图像的FlipView,您可以在其中光学缩放每个图像。这种体验非常类似于您在Windows 8(使用html构建)中的默认Photos应用程序中看到的FlipView /光学变焦。
我正在使用ScrollViewer进行光学变焦。除了奇怪的平移行为外,光学变焦似乎工作正常。在返回到原始位置之前,您仍然可以使用单个手指平移图像。
照片应用程序不允许这样做,我正试图实现类似的行为。有没有办法使用内置的ScrollViewer控件禁用平移图像?我仍然希望放大工作,但应禁用平移。我认为这应该可以使用操作事件而不是ScrollViewer来实现,但显然ScrollViewer会更简单。
<ScrollViewer x:Name="scrollViewer1" ZoomMode="Enabled" MaxZoomFactor="2.0" MinZoomFactor="1.0" HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto" HorizontalAlignment="Center">
<FlipView x:Name="flipView1" Width="1140" SelectionChanged="flipView1_SelectionChanged">
<FlipView.ItemTemplate>
<DataTemplate>
<Grid>
<Image x:Name="CurrentImage" Source="{Binding}" DoubleTapped="CurrentImage_DoubleTapped">
</Image>
</Grid>
</DataTemplate>
</FlipView.ItemTemplate>
</FlipView>
</ScrollViewer
答案 0 :(得分:0)
您已将FlipView添加到ScrollView,因为您必须将scrollview添加到flipview项目模板,并且图像必须位于scrollview内,您的xaml代码必须如下所示:
<FlipView x:Name="flipView1" Width="1140" SelectionChanged="flipView1_SelectionChanged">
<FlipView.ItemTemplate>
<DataTemplate>
<Grid>
<ScrollViewer x:Name="scrollViewer1" ZoomMode="Enabled" MaxZoomFactor="2.0" MinZoomFactor="1.0" HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto" HorizontalAlignment="Center">
<Image x:Name="CurrentImage" Source="{Binding}" DoubleTapped="CurrentImage_DoubleTapped">
</Image>
</ScrollViewer>
</Grid>
</DataTemplate>
</FlipView.ItemTemplate>
</FlipView>