如何使FlipView只向一个方向滚动

时间:2013-01-24 08:10:09

标签: windows-8 windows-runtime windows-store-apps winrt-xaml

像这样的简单xaml

<FlipView>
    <FlipView>
        <FlipView.ItemsPanel>
            <ItemsPanelTemplate>
                <StackPanel Orientation="Vertical" />
            </ItemsPanelTemplate>
        </FlipView.ItemsPanel>
        <Rectangle Fill="CornflowerBlue" />
        <Rectangle Fill="CornflowerBlue" />
    </FlipView>
    <FlipView>
        <FlipView.ItemsPanel>
            <ItemsPanelTemplate>
                <StackPanel Orientation="Vertical" />
            </ItemsPanelTemplate>
        </FlipView.ItemsPanel>
        <Rectangle Fill="CornflowerBlue" />
        <Rectangle Fill="CornflowerBlue" />
    </FlipView>
    <ListBox>
        <Rectangle Fill="CornflowerBlue" />
        <Rectangle Fill="CornflowerBlue" />
    </ListBox>
</FlipView>

如果FlipView的主要当前项目是翻转视图,您可以在两个方向上拖动和滚动项目。但如果它是一个列表框,则只有一个方向可用。在您的手指向上之前,您无法拖动和滚动它另一个方向(Horizental或Vertical)。

那么如何使flipview的行为与listbox相同?

1 个答案:

答案 0 :(得分:2)

如果从FlipView中提取默认模板,您可以看到样式如何具有这些设置器:

<Setter
    Property="ScrollViewer.IsHorizontalRailEnabled"
    Value="False" />
<Setter
    Property="ScrollViewer.IsVerticalRailEnabled"
    Value="False" />
<Setter

通过这种方式,您可以将FlipView上的设置ScrollViewer.IsHorizontalRailEnabledScrollViewer.IsVerticalRailEnabled推断为True,这样您就可以要求提供。