为什么 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"
。当没有设置背景时,操作事件可能无法正确注册。
我有一个针对 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"
。当没有设置背景时,操作事件可能无法正确注册。