1

次の宣言があります。

<Button Tapped="Handler1" DoubleTapped="Handler2" />

ボタンをダブルタップするたびに、Handler1 が起動します。ハンドラー 2 は起動されません。

ありがとう。

4

2 に答える 2

1

タップの最初のイベントが常に発生するため、この方法ではできません。ブール値またはカウンターを使用してシングル タップ イベントでダブル タップを管理し、次のタップ イベントを管理できます。

于 2013-06-27T11:59:28.260 に答える
1

DoubleTapped ハンドラーが呼び出されない理由がわかりません。そうすべき。IsDoubleTapEnabledが false に設定されている可能性がありますか? これは、XAML でプロパティを明示的に設定するだけでなく、たとえばスタイルから値を継承することによっても発生する可能性があります。

ただし、DoubleTapped が機能する場合でも、Tapped イベントは常に1 回発生します。コントロールは占い師ではありません。最初のタップが発生したとき、すぐに 2 番目のタップが続くことを認識していないため、Tapped イベントを発生させます。これが望ましくない場合は、独自の動作を実装し、Tapped イベントを無視または遅延させる必要があります。

MSDN :

ユーザー インタラクションが DoubleTapped も起動する場合、最初のタップを表すために Tapped が最初に起動しますが、2 番目のタップは追加の Tapped を起動しません。Tapped と DoubleTapped で異なるロジックが必要な場合は、最終的に DoubleTap アクションとして解釈されるインタラクションでの実行を避けるために、Tapped ハンドラーでアプリ固有の変数とタイマーを使用する必要がある場合があります。

ただし、 UX ガイドラインでは、ダブルタップの使用は一般的に推奨されていません。ボタンは通常そのようには機能せず、ユーザーの期待を裏切るため、ボタンと一緒に使用しません。

于 2013-06-27T12:11:35.193 に答える