2011-11-08 4 views
2

私はWindowsの電話アプリを書いていますが、そのユーザーが実際にバックキーを押してアプリを終了したいと警告する方法を知りたいと思います。ものすごく単純。バックキーのアラート、終了の確認

ありがとうございました。

答えて

6

ユーザーが最初のページのみを終了できるようにナビゲーションが設定されているとします。その場合は、そのページでOnBackKeyPressイベントを上書きして、ボタンの押下をキャンセルすることができます。私はこのコードをテストし、それが動作するはずのように思えるしていない:

protected override void OnBackKeyPress(CancelEventArgs e) 
{ 
    if(MessageBox.Show("Are you sure you want to exit?","Exit?", 
          MessageBoxButton.OKCancel) != MessageBoxResult.OK) 
    { 
     e.Cancel = true; 

    } 
} 

編集 - 私は、戻るボタンをオーバーライドする例として、ここではこれを残しておきますが、この文脈での正解は実装しないことです特徴。

+2

keyboardPが提供するソリューションはうまくいきますが、これを行う魅力的な理由がない限り、私はそれに反対します。ユーザーエクスペリエンスはプラットフォーム全体で統一されていなければなりません。私の経験では、電話機に「あなたは確かですか?」というダイアログを表示した唯一のアプリはゲームでした。ユーザーは、最初のページにあってヒットした場合、アプリを終了します。私はこれを行うことに同意する前に、* VERY *の説得力のある理由を持っていなければならないでしょう。 –

+1

ああ - 私はゲームがそれをするときも好きではない。 ;) –

+0

リッチは良い点を作る。元のFacebookアプリは終了する前に警告を出していましたが、オフにすることができました。更新以来、私はあなたがその設定を有効にすることはできないと思う。 IIRCでは、ユーザーガイドラインには、ゲーム終了時のポップアップを嫌うものがありますが、それは誤っているかもしれません。 – keyboardP

2

OnBackKeyPressのキャンセルに関する以前の回答は、技術的にうまくいくかもしれませんが、アプリが認証要件を満たさなくなる可能性があります。 BACKボタン -

http://msdn.microsoft.com/en-us/library/hh184840(v=VS.92).aspx

5.2.4.2:アプリケーションを閉じる必要があるアプリケーションの最初の画面から[戻る]ボタンを押すと、まず画面 次のリンクを参照してください。

この機能を実装しないことをお勧めします。

+4

私も。ほとんどの人は、Windowsデスクトップアプリケーションの観点からアプリケーションに近づいているように見えるこの機能を実装したいと考えています。 Windows Phoneプラットフォームとは異なる体験です。マーケットプレイスの要件を満たしていることを除けば、これは "Glance-and-G ..."を生み出すでしょう。ああ、待って、ええ、私は本当にそれをするつもりだった。経験。あまりクールではない。 –

+0

これを入れたいのは、戻るキーを押して戻ることができるはずだが、できないように思えるからです。バックキーを押すと、アプリケーションが終了します。私はゲームがこれをやっているのを見ましたが、通常のアプリでそれを行う方法はありませんか? – JacobTheDev

+0

最初の画面にいるとき、「アプリの外」でない場合は「戻る」とは何ですか?バックボタンはゲームの一時停止ボタンとしても使用できますが、通常のアプリでは必要ありませんので、ゲームでこれを行うことができます。件名のPeter Torrのブログを読んでください:chrome://coralietab/content/container.html?url = 0、http://blogs.msdn.com/b/ptorr/archive/2011/10/06/back-means- back-not-forwards-not-sideways-but-back.aspx –

関連する問題