如何在Windows应用商店应用中禁用c#触摸的flipview滑动导航

时间:2016-09-14 05:13:21

标签: c# windows-store-apps uwp flipview

我开发了一个应用程序,其中我在flipview中有多个页面。 现在我想停止触摸时的滑动导航。我使用过Isenabled属性但是 这也将禁用flipview的内容,我只想禁用其导航但允许用户与其内容进行交互,因为我需要拖放,并且还需要放大和缩小其内容。 请帮我解决问题。

2 个答案:

答案 0 :(得分:1)

为了在不影响FlipViewItem内容的情况下禁用FlipView的滑动导航,请覆盖ControlTemplate并在ItemsPresenter中将ManipulationMode更改为None,并将下面的代码放在FlipView中:

<FlipView.Template>
    <ControlTemplate>
        <ItemsPresenter ManipulationMode="None"></ItemsPresenter>
    </ControlTemplate>
</FlipView.Template>

我已经测试过了,它运行正常。

答案 1 :(得分:1)

您可以通过将ManipulationMode设置为TranslateX并将下面的代码放在FlipView中来尝试此方法:

XAML:

  <FlipView Width="300" Height="300" Name="MyFlipView">
        <FlipViewItem ManipulationMode="TranslateX" ManipulationDelta="FlipViewItem_ManipulationDelta">
            <Image Source="Assets/1.jpg" ></Image>
        </FlipViewItem>
        <FlipViewItem ManipulationMode="TranslateX" ManipulationDelta="FlipViewItem_ManipulationDelta">
            <Image Source="Assets/2.jpg" ></Image>
        </FlipViewItem>
    </FlipView>
代码背后的代码:

        private void FlipViewItem_ManipulationDelta(object sender, ManipulationDeltaRoutedEventArgs e)
    {
        if (e.Delta.Translation.X != 0)
        {
            e.Handled = true;
        }
    }