2011-12-07 24 views
0

私はWP 7.5アプリを持っています。私はスプラッシュ画面を持って、私のMainPage.xamlには著作権免責条項とスタートボタンがあります。ユーザーがボタンをクリックすると、ホーム画面(Home.xaml)に移動し、ユーザーはアプリとの中核的なやりとりを開始できます。メインページをスキップし、アプリケーション起動時に2番目の画面に移動する

は、私が欲しいのです:

1:つまりMainPage.xamlを著作権画面は、ユーザーがそれをインストールした後、アプリケーションを起動するだけの非常に最初の時間を表示されます。その後、アプリケーションメニューまたはタイルから開始すると、私は著作権ページを表示したくありません。

2:ユーザーが[開始/承諾]ボタンをクリックしてHome.xamlに行くと、戻るボタンをクリックしてMainPage.xamlに戻ることはできませんが、代わりにホーム画面から戻ると同じですアプリケーションを終了する必要があります。

1:MainPage.xamlをさんOnNavigateToのために、私はApplicationSettingキー、showCopyrightをチェックし、私はこれまでやった

。それが見つからないか真実なら、私は何もしません。 falseの場合は、Home.xamlにNavigationService.Navigateを使用します。

2:Start/Acceptボタンを押すと、ApplicationSettingsキーがfalseに設定されます。上記のアプローチと

問題:

1:私は、ホームスクリーンからボタンをバック使用している場合は、私は無限ループに入ります。アプリは終了する必要がありますが、終了しません。

質問:

1:上記のアプローチは正しいのですか、それとも良い方法がありますか?

2:私が正しい方向にいる場合、Home.xamlを使用しているときに戻るボタンでアプリケーションを終了させるにはどうすればよいですか?

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

編集:私は、Windows Phoneアプリケーションからの明示的な出口についての素晴らしい説明hereを見つけsake--レコードの場合。 WP7.1/7.5以降、Silverlight WPアプリケーションを明示的に終了する組み込みの方法はありません。

+1

可能重複http://stackoverflow.com/questions/6875875/exit-application-on-back-button-on-wp7 –

+1

@Xin:おかげで、それはほとんど似たようなケースです。そこに提案があった。 – oms

答えて

3

戻るキープレスで新しいページ(Home.xaml)のナビゲーションサービスのバックエントリーを削除すると、無限ループが解除されます。

Home.xaml.csに次のコードを追加して、

//this works only in 7.1 SDK 
protected override void OnBackKeyPress(System.ComponentModel.CancelEventArgs e) 
     { 
      try 
      { 
       if (NavigationService.CanGoBack) 
        NavigationService.RemoveBackEntry(); 
       base.OnBackKeyPress(e); 
      } 
      catch (Exception ex) 
      { 
       MessageBox.Show("Exception = " + ex.Message); 
      } 
     } 
+0

@oms、上で説明したものと同じソリューションを使用しますが、NavigationServiceを削除するこのコードを追加してください。 – Santhu

+0

ありがとうSanthosh。それは問題を解決するために働いているようですが、私はそれを使用するときに心配する必要がある副作用はありますか? – oms

+0

NavigationService.RemoveBackEntry();場合によっては例外をスローすることがあります。 – Santhu

0

この記事を見てくださいをしてみてください、それがEULA /免責事項ページを追加し、あなたが探している機能を持っているかを示します以下のために:

http://bjorn.kuiper.nu/2011/09/09/wp7eula/

+0

ありがとう、私は同様のロジックを持っていますが、後で私はポップアップに行く予定ですバックスティックをクリアする必要はありません。 – oms

+0

興味深いアプローチのようですが、ポップアップではEULAを表示する余地があまりないと思っています。 – invalidusername

+0

ポップアップにはほとんど何も表示でき、画面全体をカバーできるようです。私はまだそれを試みていない。 – oms

関連する問題