3

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

4

1 に答える 1

0

シナリオを理解するのに役立つかもしれませんが、一般的に、提案しているように、組み込みのジェスチャと競合する可能性のある新しいジェスチャを作成しないでください。

John Wiese
Microsoft - シニア テクニカル エバンジェリスト
jwiese@microsoft.com
@johnwiese

于 2014-01-21T16:46:04.977 に答える