我有一个FlipView,当用户在其中滑动时,它会显示传单的页面。我希望用户能够放大页面。 到目前为止我发现的是,如果我将 Image 包装在 ScrollViewer 中并设置 ZoomMode = Enabled ,则用户可以进行缩放。奇怪的是,如果我放大页面的右侧,我从屏幕上抬起手指后会自动回到左侧。知道如何解决这个问题吗?
XAML:
<Grid Name="grRoot">
<FlipView x:Name="flipView1"
BorderBrush="Black"
ItemsSource="{Binding}">
<FlipView.ItemTemplate>
<DataTemplate>
<ScrollViewer ZoomMode="Enabled" MinZoomFactor="1">
<Image Source="{Binding url_dotcom}"
Stretch="Fill"
Holding="imgHolding"/>
</ScrollViewer>
</DataTemplate>
</FlipView.ItemTemplate>
</FlipView>
</Grid>
设置FlipView的宽度和高度:
flipView1.Width = Window.Current.Bounds.Width;
flipView1.Height = Window.Current.Bounds.Height;
答案 0 :(得分:3)
尝试这样的事情:
<Grid Name="grRoot">
<FlipView x:Name="flipView1"
BorderBrush="Black"
ItemsSource="{Binding}">
<FlipView.ItemTemplate>
<DataTemplate>
<ScrollViewer ZoomMode="Enabled" MinZoomFactor="1"
HorizontalScrollBarVisibility="Auto"
VerticalScrollBarVisibility="Auto">
<Image Source="{Binding url_dotcom}"
Stretch="Fill"
Holding="imgHolding"
MaxWidth="{Binding ElementName=YourPage, Path=DataContext.Width}"
MaxHeight="{Binding ElementName=YourPage, Path=DataContext.Height}"/>
</ScrollViewer>
</DataTemplate>
</FlipView.ItemTemplate>
</FlipView>
</Grid>
这里有两个重要的变化:
编辑: 更多信息,请参阅我的博文Why is my zoomable ScrollViewer snapping the image to the left?