2011-08-07 9 views
1

私は、スタックオーバーフローを調べて、アクションに基づいてアプリケーションを確定的に閉じる方法を調べました。ほとんどすべての答えではないにしても、あなたがそれをすることができない、またはしてはならない、これがそうであれば、私は自分の質問を別の言い方で表現したいと思います。そして、人々が私が問題を抱えている2つの問題をどう扱っているかを見てください。WP7での最初の実行と飛びを処理する方法

私はこのプロジェクトでCaliburn.Microを使用しています。私のアプリの流れは二つの部分、最初の流れと標準流れに分けることができますので、以下のように

、これらはOKです

スプラッシュ - >ようこそ - > CreateAccount - > MainHub(他のすべての機能ブランチ

スプラッシュ)ここから - このフローに基づいて、ここから> MainHub(他のすべての機能ブランチ)

、私のより良い(ベータ版)テスターからのフィードバックは、彼らが戻るボタンを押しでアプリを終了することを期待していることですハブ上にあり、エントリポイントと見なされます。現在、ナビゲーションごとに、彼らはすべての方法で元気に戻ります。

他のアプリもこの機能を備えていますが、アプリケーションを終了する必要はありません。

注:私はWP7アプリケーションの自然な流れに反していると思うので、私は終了ボタンを入れたくありません。

答えて

1

まず、あなたはは、終了ボタンを追加することはできません。アプリケーションを終了する唯一の方法はクラッシュさせることです。は、が市場認定のために承認されません。

既知のナビゲーションが完了したら、ナビゲーションスタックからビューを削除するだけで問題ありません。

この場合、NavigationService.RemoveBackEntryを使用してください。

あなたはこのスニペットを使用して、どこからでものNavigationServiceにアクセスすることができます。

(App.Current.RootVisual as PhoneApplicationFrame).RemoveBackEntry() 
+0

良いアドバイスだが、私がcaliburn.micro経由でそれを行う別の方法を見つけることができない場合は、私はviewmodelでそれを行うことを好むでしょう – deanvmc

+0

更新のための乾杯、私はそれにもかかわらず、非常に直感的使用するフレームワーク。 – deanvmc

1

EULA /ログイン画面(およびスプラッシュ)については、ページにしないでください。ポップアップまたはダイアログコントロールを代わりに作成すると、いつでも(最初のナビゲーションで、ユーザーがアプリケーションの「保護された」部分にヒットしたとき、タイムアウト後などに)表示または非表示にできます。バックスタックのスロットを消費します。

出典:すべてのhttp://blogs.msdn.com/b/ptorr/archive/2010/08/01/exiting-a-windows-phone-application.aspx

+0

良いアドバイス、私はそれは私の問題の一部を解決し、その変更されます。 – deanvmc

+0

承認/拒否の後にNavigationService.GoBack()を使用すると、別のページも正常に動作します。それはアプリのナビゲーションフローに依存します。 –

関連する問題