在嵌套的FlipView中禁用对角线平移

时间:2015-12-01 11:50:53

标签: xaml windows-phone-8.1 winrt-xaml

我的XAML大致如下所示。

<FlipView>
    <FlipViewItem>
        <Grid Height="400" Background="Blue"/>
    </FlipViewItem>
    <FlipViewItem>
        <Grid>
            <FlipView x:Name="DigestFlipView" Style="{StaticResource DigestViewStyle}"/>
        </Grid>
    </FlipViewItem>
</FlipView>

然后在我的DigestViewStype中,我将其设为如下:

<Setter Property="ItemsPanel">
    <Setter.Value>
        <ItemsPanelTemplate>
            <ItemsStackPanel Orientation="Vertical"/>
        </ItemsPanelTemplate>
    </Setter.Value>
</Setter>

我想要的是,当滑动是垂直的时,内部FlipView应该启动。此外,当滑动是水平时,外{{1应该开始。

如果我用FlipView替换内部FlipView,我会得到所需的行为。 ListView滚动显示垂直滑动,ListView滚动显示水平滑动。我试过玩模板没有运气。有没有办法用FlipView来实现我需要的东西?

1 个答案:

答案 0 :(得分:1)

ScrollViewer可以水平滚动。 ScrollViewer可以垂直滚动。并且,ScrollViewer可以水平和垂直滚动 - 您正在调用第三种情况“对角线”滚动。

ScrollViewer有一个功能,一旦它开始水平或垂直滚动​​,它将不再滚动相反。听起来这就是你想要的。此功能称为“rails”。

  

https://msdn.microsoft.com/en-us/library/windows/apps/windows.ui.xaml.controls.scrollviewer.ishorizontalrailenabled.aspx

     

https://msdn.microsoft.com/en-us/library/windows/apps/windows.ui.xaml.controls.scrollviewer.isverticalrailenabled.aspx