2016-04-12 5 views
1

button1がpage1でクリックされた回数をカウントしてから、page2のクリック数をtextbox1に表示しようとしています。クリック数をカウントして別のページに表示する[Windows Phone c#]

以下のコードを試しましたが、 ''という行に例外エラーが表示されています。String count = localSettings.Values ["Count"]。ToString(); '。

私は何をしたいのですか?

ページ1

private void button1_Click(object sender, RoutedEventArgs e) 
    { 
     var localSettings = Windows.Storage.ApplicationData.Current.LocalSettings; 
     String count= localSettings.Values["Count"].ToString(); 
     int tc = int.Parse(count); 
     tc++; 
     localSettings.Values["Count"] = tc; 

    } 

2ページ

 var localSettings = Windows.Storage.ApplicationData.Current.LocalSettings; 
     textbox1.Text = localSettings.Values["Count"].ToString(); 
+0

はこれを試してみてください。公共の静的変数を持つヘルパークラスを使用する方が、ローカル設定が永続的(おそらく、アプリケーションがアンインストールされるまでリセットされない)なので、より良いかもしれません。だから、ヘルパークラスはもっと良いかもしれません。何をやったの? –

答えて

2

初めて "カウント" にアクセスすると、それは存在しません。したがって、localSettings.Values["Count"]はnullになります。その後、nullのオブジェクトでToString()を呼び出すと、その例外が発生します。私は答えを掲示し、あなたがそれを使用した場合、私は思っていた

private void button1_Click(object sender, RoutedEventArgs e) 
{ 
    var localSettings = Windows.Storage.ApplicationData.Current.LocalSettings; 
    int tc = 0; 
    if(localSettings.Values["Count"] != null) 
    { 
     String count= localSettings.Values["Count"].ToString(); 
     tc = int.Parse(count); 
    } 
    tc++; 
    localSettings.Values["Count"] = tc; 

} 
関連する問題