0

我有一个适用于Windows 10 Mobile的Windows 10 UWP应用程序,但同时我也正在使用Microsoft Surface和我的鼠标进行测试。我根本无法让操作来检测触摸事件。基本上,我想处理一个框架内的滑动(问题不是框架,也尝试了一个矩形作为测试,也没有工作)。当我运行应用程序并尝试用手指滑动或使用我的鼠标时,我无法获取后面代码中的任何事件。尝试过多种设备以及多种方法。大多数情况下,我遵循我在SO和MSDN上阅读的所有内容,这使得它更令人沮丧。我在这里想念什么?为什么手势/操作不起作用Windows 10 UWP

这是页面的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,因此我正在尝试执行此操作。

谢谢!

回答

1

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

+0

哇!这是问题。这次真是万分感谢。同时,我想知道为什么会是这样。似乎很傻,你必须设置触摸事件的背景进行注册。 2.为什么Microsoft没有在任何MSDN文档中记录这一点。再次感谢! –

+0

我同意,缺乏这方面的信息令人费解。很高兴帮助。 –