【发布时间】:2015-07-14 09:08:12
【问题描述】:
我有一个 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;
【问题讨论】:
-
我在 Windows 8.1 上遇到了非常相似的问题。几乎相同的场景。我发现在 ScrollViewer 上将 Horizontal 和 Vertical ScrollBarVisibility 设置为 Auto 会有所帮助 - 但是如果渲染的图像大于翻转视图(通常是为了缩放以正常工作),它就会渲染太大。所以我做的另一件事是将网格的最大宽度限制为 Window.Current.Bounds.Width 和最大高度为相同的宽度乘以基于杂志页面格式的比例因子。然后它起作用了。
-
我编辑了我的问题并发布了 XAML 代码。你能编辑它并写下你所说的吗?
标签: c# windows-runtime windows-phone-8.1 winrt-xaml