2013-04-17 12 views
6

ScrollViewerに複数の動画があり、これらの動画の1つをクリックすると再生され、フルスクリーンで動画が表示され、スクロールバーで移動した。これは大丈夫です。私はマウスのクリックをメディア要素に追加することでこれを実装しましたが、今はタッチスクリーンでこれをテストしています。WPF - タッチジェスチャー - スクロールするとマウスクリックが抑制される

しかし、ビデオをクリックしてその領域を移動することを区別したいと思います。そのユーザーはビデオを「選択」したくないが、単にスクロールバーではなくエリア付きで動いているが、ビデオ付きのエリアにいる。わかりやすくするために、私は画像を追加しました:Example

クリックと移動の違いをWPFに持たせるには(両方とも持っていますが、ただ1つしか呼びません)。これを行う最善の方法は何ですか?ありがとう

+0

私の頭の上から外して、次の作業をしますか? TouchDownイベントを検出します。たとえば、 '_touchDown'がtrueの場合、Clickイベントの' _touchDown = true'は、TouchUpイベントセット '_touchDown = false'でビデオselectを実行しません。 –

答えて

2

特にネストされたコントロールを処理する必要がある場合は、自分でタッチイベントを処理することは非常に困難です。あなたがSurfaceScrollViewとあなたのScrollViewを交換し、あなたのMediaElementsの上に透明SurfaceButtonを配置し、クリックイベントに反応する(または経由でそれを処理Microsoft Surface Touch Pack

を使用するため

私はこの問題を解決する最も簡単な方法だと思い、ありますaコマンド)。

このようにして、Microsoftは手間のかかるパンニング(スクロール)またはタップ(クリック)を行います。素晴らしい副作用として、ScrollViewerのバウンスやInteriaなどを無料で入手できます。

関連する問題