エミュレーターで単純な Windows Phone 8 アプリをテストしています。アプリの最初のロード時に、Button オブジェクトが長押しに正しく反応しないことを発見しました。そのボタンが最初にクリックされた場合 (そして、クリック アンド ホールドとしましょう)、Click イベントがトリガーされます。すばやくタップしたかのようにボタンにバインドされます。ただし、画面のどこかをタップしてボタンを長押しすると、正しく動作します (つまり、強調表示されますが、クリックを解除するまで Click イベントは実行されません)。
私は Windows Phone を持っていないので、これがエミュレータ固有の問題なのか、それとも何なのかわかりません。しかし、そうではないと仮定すると、これはフォーカスの問題だと思います。画面上の別の場所をクリックし、ボタンを長押しして正しく動作させることができるからです。
私の最初のアイデアは、アプリが最初に読み込まれたときにボタンにフォーカスを与えることでした。ただし、onNavigatedTo イベントまたは Loaded イベント (「Loaded」という名前はそのイベントにバインドされた関数にブレークポイントを設定すると、現在の画面の背景が読み込まれていないことがわかります)。UI がロードされたら myButton.Focus() を呼び出すことができる別の関数はありますか? 最初にボタン フォーカスを割り当てる方法がない場合は、アイデアがありません。誰かがこれに対する回避策を持っていますか?