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" を使用すると、垂直方向のタッチ移動は機能しますが、水平スクロールは機能しません。使用しない場合、水平スクロールは機能しますが、垂直方向のタッチは移動しません。この両方の機能を機能させることは可能ですか? 私の英語でごめんなさい。