在我的项目中,我有几个页面使用 Manipulation-Started Delta 事件进行导航,检查我是否滑得足够远。如果我使用的是这种情况this.Frame.Navigate(typeof(anotherPage);
,就像 FlipView 在项目中滑动一样。
它有点工作,但如果我在其中使用此函数的页面中有一个ScrollViewer
其中包含其他处理程序的页面,我的函数将不再工作得那么好。
我想知道我的问题是否有解决方案?
是否有可能有一个 FlipView 并且项目已加载页面?
编辑*
private void grid_ManipulationStarted(object sender, ManipulationStartedRoutedEventArgs e)
{
initialPoint = e.Position;
}
private void grid_ManipulationDelta(object sender, ManipulationDeltaRoutedEventArgs e)
{
Point currentPoint = e.Position;
if (currentPoint.X - initialPoint.X >= 100)
{
this.Frame.Navigate(typeof(DIStatePage), ts);
e.Handled = true;
}
else if (currentPoint.X - initialPoint.X <= -100)
{
this.Frame.Navigate(typeof(PassagePage), ts);
e.Handled = true;
}
}
这就是我的导航功能的样子.. 我希望它更像是在 FlipView 内翻转
对于 ScrollViewer 问题,我可以设置 ScrollViewer ManipulationMode="All",但是带有 ScrollViewer 的处理程序当然会停止工作。它与其他控件的工作方式相同..