0

WPF でアクティブなタッチ ポイントを取得する方法はありますか? Mouseクラスのプロパティと同様に、ユーザーが画面に触れているかどうかを判断する必要がありますPressedか?

画面にタッチが存在するかどうかを知る必要があるだけです。タッチしている UIElement は気にしないでください。

4

2 に答える 2

1

メイン ウィンドウの ManipulationStarting イベント (最初の指が画面に触れたとき)、ManipulationInertiaStarting イベント (最後の指が画面から離れたとき)、ManipulationDelta イベント (いずれかの指が動いたとき) をサブスクライブできます。

イベント ハンドラー内で、 ManipulationDeltaEventArgs.Manipulatorsを介して現在のすべてのタッチポイントのリストを取得できます。

メイン ウィンドウの IsManipulationEnabled を true に設定することを忘れないでください。

このようにして、操作が現在進行中かどうかを覚えておくだけで済みます。個々のタッチ ポイントをすべて自分で追跡する必要はありません。

于 2013-10-31T14:12:01.197 に答える
1

以下に 2 つのオプションを示しますが、最も正しい方法ではない可能性があります。

1) にサブスクライブして、現在のすべてのタッチ デバイスのリストを維持できMainWindow.PreviewTouchDownますMainWindow.PreviewTouchUp。実装は簡単ですが、コードが乱雑になる可能性があります。

Touch.FrameReported2)からタッチ ポイントのコレクションを取得できるサブスクライブしますTouchFrameEventArgs.GetTouchPoints(null);。これは、タッチ イベントが発生するたびに発生するため、頻度が高すぎる可能性がありますが、どのクラスからでもこのイベントを処理できます。

于 2013-06-25T18:18:15.473 に答える