0
  public IsolatedStorageSettings appSettings =
                  IsolatedStorageSettings.ApplicationSettings;


public Settings()
        {
            InitializeComponent();
             this.toggle.Checked += new EventHandler<RoutedEventArgs>(toggle_Checked);
             this.toggle.Unchecked += new EventHandler<RoutedEventArgs>(toggle_Unchecked);


 this.toggle.Click += new EventHandler<RoutedEventArgs>(toggle_Click);
            this.toggle.Indeterminate += new EventHandler<RoutedEventArgs>(toggle_Indeterminate);
    `}`

void token_Unchecked(object sender、RoutedEventArgs e){

            this.toggle.Content = "Visibity is off";
            this.toggle.SwitchForeground = new SolidColorBrush(Colors.Red);
            appSettings.Add("value", "off");
        }

        void toggle_Checked(object sender, RoutedEventArgs e)
        {


            this.toggle.Content = "Visibity is on";
            this.toggle.SwitchForeground = new SolidColorBrush(Colors.Green);
            appSettings.Add("value", "on");
        }

        void toggle_Indeterminate(object sender, RoutedEventArgs e)
        {
            //add some content here
        }

        void toggle_Click(object sender, RoutedEventArgs e)
        {
            //add some content here


        }

デフォルトでは、checkedメソッドを呼び出します。ユーザーがボタンをアンチェックした場合、ユーザーが以前にbtnをアンクしたため、再度ログインしたユーザーはアンクを表示する必要があります。分離された可変値にアクセスする場所を教えてください。

4

2 に答える 2

1

SaveApplicationSettingsオブジェクトのメソッドを呼び出していないようです。分離ストレージの操作方法については、このガイド
を お読みください。

設定を保存するには:

IsolatedStorageSettings settings = IsolatedStorageSettings.ApplicationSettings;
if (!settings.Contains("userData"))
{
settings.Add("userData", "some value");
}
else
{
settings["userData"] = "some value";
}
settings.Save();

設定を取得するには:

if (IsolatedStorageSettings.ApplicationSettings.Contains("userData"))
{
 string result  IsolatedStorageSettings.ApplicationSettings["userData"] as string;
}

したがって、あなたの場合、Checked&UnCheckedイベントにCheckBoxの状態を保存し、ページのinitに状態をロードします。

于 2012-06-06T06:10:29.067 に答える
1

作成したのと同じ方法で、任意のページのisolatedstorage値にアクセスできます。

InitializeComponent();の後にSettings()コンストラクターの値にアクセスしてみてください。

public Settings()
    {
        InitializeComponent();
        string value;
        if (appSettings.Contains("value"))
        {
            appSettings.TryGetValue("value", out value);
        }

次に、「値」に基づいてトグルボタンの値を変更できます。

于 2012-06-06T06:11:43.490 に答える