在FlipView中使用ScrollViewer

Igo*_*man 5 c# xaml windows-phone-8 windows-phone-8.1

我有一个带有FlipView的Windows Phone 8.1应用程序.每个FlipView项目代表一个杂志页面(PDF页面呈现为具有一些叠加的位图).

我需要启用pinch来缩放所有页面.我的FlipView ItemTemplate看起来像这样

<DataTemplate
        x:Key="SinglePageTemplate">
        <ScrollViewer                
            ZoomMode="Enabled">
            <Grid>
                <ProgressRing
                    HorizontalAlignment="Center"
                    VerticalAlignment="Center"
                    IsActive="{Binding IsRendered, Converter={StaticResource BooleanNegateConverter}}" />
                <Image
                    Source="{Binding Bitmap}"
                    VerticalAlignment="Stretch"
                    HorizontalAlignment="Stretch">
                </Image>
            </Grid>
        </ScrollViewer>
Run Code Online (Sandbox Code Playgroud)

问题是当我缩小页面并尝试将其向右移动时,它总是"跳回"到左边.

这是一个显示问题的视频:https://dl.dropboxusercontent.com/u/73642/fv.avi

任何想法为什么以及如何解决它?

Gan*_*uda 0

在滚动查看器中,您必须手动启用滚动条可见性和模式

<ScrollViewer ZoomMode="Enabled"
              HorizontalScrollBarVisibility="Visible"
              VerticalScrollBarVisibility="Visible"
              HorizontalScrollMode="Enabled"
              VerticalScrollMode="Enabled">
        <Grid>
            <ProgressRing
                HorizontalAlignment="Center"
                VerticalAlignment="Center"
                IsActive="{Binding IsRendered, Converter={StaticResource BooleanNegateConverter}}" />
            <Image
                Source="{Binding Bitmap}"
                VerticalAlignment="Stretch"
                HorizontalAlignment="Stretch">
            </Image>
        </Grid>
 </ScrollViewer>
Run Code Online (Sandbox Code Playgroud)

您还可以选择设置 Max/MinZoomFactor 以防止过度缩放