Mango Jump Start 抜粋:戻るキーの処理をオーバーライドする
例えばアプリケーション上でポップアップを表示させている場合、ユーザがポップアップを消すために戻るキーを押下すると既定の戻るキーの動作ではページ全体が前のページに戻されてしまい、ユーザの意図した動作(ポップアップを消す)にならない。このような場合は以下のような方法で戻るキーの挙動を制御してあげます。
xaml:
<phone:PhoneApplicationPage ・・・ BackKeyPress="OnPhoneApplicationPageBackKeyPress">
cs:
private void OnPhoneApplicationPageBackKeyPress(object sender, CancelEventArgs args) { //ポップアップが開いていたら、ページ遷移ではなくポップアップを閉じる if (_popup.IsOpen) { args.Cancel = true; //システムにイベントがハンドルされたことを通知 _popup.IsOpen = false; } }