2

私はこのc#Windows Phoneプログラミングのまったく新しいので、これはおそらくばかげた質問ですが、誰でも知る必要があります...

            IsolatedStorageSettings appSettings =
                IsolatedStorageSettings.ApplicationSettings;

        if (!appSettings.Contains("isFirstRun"))
        {
            firstrunCheckBox.Opacity = 0.5;

            MessageBox.Show("isFirstRun not found - creating as true");

            appSettings.Add("isFirstRun", "true");
            appSettings.Save();
            firstrunCheckBox.Opacity = 1;
            firstrunCheckBox.IsChecked = true;
        }
        else
        {
            if (appSettings["isFirstRun"] == "true")
            {
                firstrunCheckBox.Opacity = 1;
                firstrunCheckBox.IsChecked = true;
            }
            else if (appSettings["isFirstRun"] == "false")
            {
                firstrunCheckBox.Opacity = 1;
                firstrunCheckBox.IsChecked = false;
            }
            else
            {
                firstrunCheckBox.Opacity = 0.5;
            }
        }          

まず、アプリケーション設定の分離ストレージに特定のキーがあるかどうかを確認してから、そのキーの値が「true」か「false」かによって、チェックボックスがオンまたはオフになっているように見せたいと考えています。また、アクションが実行されない場合、チェックボックスの不透明度はデフォルトで0.5不透明度になります。

私が持っているコードで、私は警告を受け取ります

意図しない参照の比較の可能性。値の比較を取得するには、左側をキャストして「string」と入力します

誰かが私が間違っていることを教えてもらえますか?分離ストレージのtxtファイルにデータを保存する方法を検討しましたが、うまくいきました。現在、アプリケーション設定を試しています。最後に、xmlファイルをダウンロードして保存し、ユーザー設定を作成してxmlファイルに保存します。私は自分に開かれているすべてのオプションを理解し、より良く、より速く実行されるものを使用してみたいと思います

4

2 に答える 2

3

appSettingsからの値の取得結果を次のような文字列に明示的にキャストする場合:

        if ((string)appSettings["isFirstRun"] == "true")
        {
            firstrunCheckBox.Opacity = 1;
            firstrunCheckBox.IsChecked = true;
        }
        else if ((string)appSettings["isFirstRun"] == "false")
        {
            firstrunCheckBox.Opacity = 1;
            firstrunCheckBox.IsChecked = false;
        }
        else
        {
            firstrunCheckBox.Opacity = 0.5;
        }

これで警告が消えます。

于 2010-03-23T02:25:51.177 に答える
1

IsolatedStorageSettingsはDictionaryとして保存されます。したがって、一般的には、使用する必要のあるタイプに明示的にキャストする必要があります。

于 2010-04-04T09:20:55.477 に答える