为什么 Gesture/Manipulation 不工作 Windows 10 UWP

Why is Gesture/Manipulation not working Windows 10 UWP

我有一个针对 Windows 10 Mobile 的 Windows 10 UWP 应用程序,而且,我正在 Microsoft Surface 上使用我的鼠标进行测试。我根本无法让 Manipulation 检测触摸事件。基本上,我想处理框架内的滑动(问题不是框架,也尝试了一个矩形作为测试但也没有用)。当我 运行 应用程序并尝试用手指滑动或使用鼠标时,我无法触发代码中的任何事件。尝试过多种设备以及多种方法。大多数情况下,我都在关注我在 SO 和 MSDN 上阅读的所有内容,这让我更加沮丧。我在这里错过了什么???

这是页面的 XAML。在此示例中,我在 XAML 中显式设置了事件处理程序。但是,我也尝试在控件后面的代码中创建它。都不行。

         <!--<Rectangle Name="TouchArea" Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="4" ManipulationMode="All"/>-->
    <Frame Name="MainPageFrame" Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="4" ManipulationMode="All" ManipulationStarted="MainPageFrame_OnManipulationStarted">

    </Frame>

然后在代码中

    private void MainPageFrame_OnManipulationStarted(object sender, ManipulationStartedRoutedEventArgs e)
    {

    }

也试过这个:

    public MainPage()
    {
        this.InitializeComponent();
        MainPageFrame.ManipulationInertiaStarting += MainPageFrame_ManipulationInertiaStarting;
    }

    private void MainPageFrame_ManipulationInertiaStarting(object sender, ManipulationInertiaStartingRoutedEventArgs e)
    {
        if (e.Cumulative.Translation.X >= 300)
        {
            //Swipe Right
            e.Handled = true;
        }
        if (e.Cumulative.Translation.X <= 300)
        {
            //Swipe Left
            e.Handled = true;
        }
    }

最终我想要做的就是检测用户何时在框架内滑动,惯性向右或向左滑动,这样我就可以更改 Frame.Navigate。这与 Pivot 的工作方式类似,但我不能使用 Pivot,所以我尝试改为这样做。

谢谢!

尝试为您要跟踪操作的框架或其他元素设置 Background="Transparent"。当没有设置背景时,操作事件可能无法正确注册。