2010-12-02 16 views

答えて

28

:たとえば

戻るボタンを押すと例外なくアプリケーションを終了します。

+0

良いこれはうまく動作しています – rams

+0

お願いします+1: –

+2

私はほとんど2年後です私は代わりにこの答えを受け入れますが、実際にはうまくいくようです。 – Vercas

7

実際には良い方法ではありませんそれを行うには。 nice explanation/overview of your options hereがあります。

これはXNAではなくSilverlightアプリケーションであればサポートされていません。あなたは単に処理されない例外をスローすることができ、アプリケーションは終了します。私はそれをお勧めしません、それはハックとそれをやっているやや粗雑な方法のように思えます。

Here is a way to make it look nicer,ただし、最終日にはまだ例外がスローされます。アプリケーションの認証プロセスで、処理されていない例外がスローされているかどうかはわかりませんが、問題になる可能性があります。

+0

リンクありがとうございます!それは助けになった!私は結局、Quitボタンを削除することにしました。 :D – Vercas

+0

それは完全に間違っています。最初のリリースから、 'NavigationSerice.Back()'コマンドを使用してアプリケーションを終了する必要があります。あなたがルートにいない場合は、アプリケーションが閉じられている限り、それを使用することができます。しかし、他のものはハッキングされ、お勧めしません、申し訳ありません。 – goldengel

+0

私は、未処理の例外をチェックし、それを持っているアプリケーションを拒否しますと思います。 – SKandeel

8

「終了」ボタンを提供するための既知の解決策を確認している現在、私はWP7アプリケーションから「終了」を実装する魅力的な理由はありません。

プラットフォームは、アプリの閉鎖を完全に管理することができます。より多くのアプリが出口を提供しなくなると、より早いユーザーはアプリハウスの維持について考えず、プラットフォームがそれを管理できるようになります。

ユーザーはすぐに何かを行う行くために、現在のアプリケーションのうち、希望する場合、ユーザは単になど

、背中、スタートを使用して、デバイスをナビゲートします - 簡単に - 彼らはちょうど開始ヒット。

.Exit()は、xnaで利用できますが、実際にはもう必要ありません。 CTPの間に、ゲームが終了ボタンを提供しなければならないという証明書要件がありました。これは今やなくなってしまった。

ゲーム以外のアプリではこれを実装する必要はありませんでした。

このトピックについて詳しく説明すると、実際にはブロックの周りをうまく走っています。私にとって、出口をコードする必要がないことを示唆する指標が増えています。

アプリの証明書には、アプリケーションが処理されていない例外を持つべきではないことが明記されている必要があります。

+2

プラットフォームと対戦するよりも試してみるのが一般的です。ユーザーは一貫性によく関連しています。 –

5

あなたのルート/ホームページからシミュレーションするのが最も簡単です。私はこれがFruit Ninjaのようなアプリ(終了ボタンを持っているもの)であると推測しています。

if (NavigationService.CanGoBack) 
{ 
    NavigationService.GoBack(); 
} 

Btw、上記のスニペットは、Silverlightアプリで使用できます。

+0

thats唯一の本当の答えです。私は例外を除いたり、アプリケーションを壊すために4つのアップ象徴で他の答えを信じることができませんでした。 – goldengel

+0

CanGoBackで私は常にfalseを返します – SKandeel

+1

スタックエントリ内で段階的にしか実行されません。終了ボタンを使用する場合は、スタックからすべてのエントリを削除する必要があります。 –

0
private void exitBUtton_ONclick(object sender, RoutedEventArgs e) 
    { 
     throw new Exception("ExitAppException"); 
    } 
4

アプリケーションを終了するもう1つの方法は、Microsoft XnaフレームワークのGameクラスの終了機能を呼び出すことです。これは、エントリをバック削除されます

if (NavigationService.CanGoBack) 
{ 
    while (NavigationService.RemoveBackEntry() != null) 
    { 
     NavigationService.RemoveBackEntry(); 
    } 
} 

:あなたは常にあなたのアプリケーションのバックボタンのクリックでリンク先ページの使用時にこのコードをこれを行うことで、出口を呼び出すことができます

Microsoft.Xna.Framework.Game game = new Microsoft.Xna.Framework.Game(); 
game.Exit(); 
+0

これは私のために働いた唯一のものです.. – SKandeel

+0

それはxnaのためだけです、それは銀色のアプリケーションでは動作しません –

関連する問題