如何在 windows 商店应用程序中的 c# 中禁用轻扫导航的 flipview 触摸

How to disable swipe navigation of flipview on touch in c# in windows store apps

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

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

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

我已经测试过了,没问题。

您可以通过将 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;
        }
    }