2016-04-12 4 views
1

Ich versuche zu zählen, wie oft Button1 angeklickt wird, und zeige dann die Anzahl der Klicks auf Seite2 in einer Textbox1 an.Anzahl der Klicks zählen und auf einer anderen Seite anzeigen [Windows Phone C#]

Ich habe versucht, unten zu codieren, aber es gibt mir einen Ausnahmefehler in der Zeile 'String count = localSettings.Values ​​["Count"]. ToString(); '.

Gibt es eine andere Möglichkeit zu tun, was ich will?

Seite 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; 

    } 

Seite 2

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

ich eine Antwort geschrieben und ich habe mich gefragt, ob Sie es verwendet. Es ist mir aufgefallen, dass die Verwendung einer Hilfsklasse mit einer öffentlichen statischen Variable möglicherweise besser ist, da die lokalen Einstellungen wahrscheinlich dauerhaft sind (niemals zurückgesetzt, bis die App deinstalliert ist). Also könnte die Helferklasse besser sein. Was hast du am Ende gemacht? –

Antwort

2

Wenn Sie "Count" zum ersten Mal zugreifen, es existiert nicht. localSettings.Values["Count"] wird daher null sein. Sie versuchen dann, ToString() für ein Objekt aufzurufen, das Null ist und das die Ausnahme verursacht.

Versuchen Sie folgendes:

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; 

} 
Verwandte Themen