スコアを保存できるようにする

スコアはカウントできるようになりましたが、メモリ上にしか存在せず、ファイルに保存していないのでアプリを終了するとスコアは消えてしまいます。

スコアを保存できるようにしましょう。

Windowsストアアプリでは設定データの保存はApplicationDataContainerというクラスで実現できます。
しかし、どのタイミングでデータを保存すべきなのでしょうか。

Windowsストアアプリは基本的には終了という概念はなく、別のアプリに切り替えてバックグラウンドに回ったあと、しばらくしてメモリが足りなくなったらシステムがアプリを中断または終了します。
この中断のタイミングでデータをメモリからファイルに保存すべきです。

App.xaml.csの中にOnSuspendingというメソッドがあります。

このメソッドがサスペンド(中断時)に実行されるメソッドです。
このメソッドにデータを保存する処理を加えましょう。

ApplicationData.Current.LocalSettingsでローカルの設定コンテナーを取得できます。
そのValueディクショナリに「score」というキーで現在のスコアを保存します。

これでスコアの保存は出来ました。
次に起動時にスコアの復元処理をおこないます。

再びApp.xaml.csのOnLaunchedメソッド内のif(rootFrame==null)以下を編集します。

ContainsKeyメソッドですでに保存されているか、初回起動かどうかを判定できます。

これでアプリケーションが終了してもデータが復元できました。

※Alt+F4やアプリを上から下にドラッグアンドドロップではサスペンド状態にはならず、データは保存されません。
サスペンドを強制的に起こすにはVisualStudioのメニューバーから[表示]→[ツールバー]→[デバッグの場所]を押して、中断ボタンを押します。