我有 Grid 和 Scrollviewer 的页面:
<Grid x:name="mainGrid">
...
<ScrollViewer Name="mainScroller" ScrollViewer.HorizontalScrollBarVisibility="Visible" ScrollViewer.HorizontalScrollMode="Enabled">
...
</ScrollViewer>
...
</Grid>
我想对垂直触摸移动(用手指向上移动)进行手势处理,但我也想通过水平触摸移动来保留滚动的 mainScroller 内容。
我尝试为 mainGrid ManipulationCompleted="Grid_ManipulationCompleted" 添加:
private void Grid_ManipulationCompleted(object sender, ManipulationCompletedRoutedEventArgs e)
{
if (e.Cumulative.Translation.Y < -50 && e.Velocities.Linear.Y<1000)
{
...make some action...
}
}
最终效果是,如果我对 mainGrid 使用 ManipulationMode="TranslateY",则垂直触摸移动有效,但水平滚动无效,当我不使用它时,水平滚动有效,但垂直触摸移动无效。是否有可能使这两个功能都起作用?对不起我的英语不好。