复选框未保存状态

本文关键字:状态 保存 复选框 | 更新日期: 2023-09-27 18:11:10

我目前有一个复选框遵守MS位置服务规则,但当你重新访问页面时,它似乎没有保存其状态。

代码如下:

private void cbLocationAllow_Checked(object sender, RoutedEventArgs e)
{
    var settings = IsolatedStorageSettings.ApplicationSettings;
    settings["allowLocation"] = true;
    settings.Save();
}
private void cbLocationAllow_Unchecked(object sender, RoutedEventArgs e)
{
    var settings = IsolatedStorageSettings.ApplicationSettings;
    settings["allowLocation"] = false;
    settings.Save();
}

我想应该是……

   private void SaveState(CheckBox checkBox)
    {
        var settings = IsolatedStorageSettings.ApplicationSettings;
        if (settings.Contains("allowLocation"))
        {
            checkbox.isChecked == true;
        }

但它似乎不工作,我正在寻求一些帮助,再一次。

复选框未保存状态

我的方法是创建一个设置类,并将控件绑定到设置类中的属性。对于简单的程序,我使用这种方法,即使不是真正的"设置",但只是我需要保存的数据。在一些情况下,我的数据可能会被另一个页面更改,所以对于可能在原始页面上更改的数据(在这种情况下,NotifyChanged事件不会触发,因为页面不在范围内),我有后面的代码返回并检查保存的数据。

下面是一个类似于我使用的设置类的例子: http://msdn.microsoft.com/en-us/library/ff769510%28v=VS.92%29.aspx

我真的不明白这个问题。但是如果你这样做,

 settings.Save();

则保存设置。如果你再次浏览那部分,就把它加载回来。请勿尝试更改复选框的isChecked功能。

或者您可以尝试将复选框的isChecked绑定到一个局部布尔变量。然后将其保存在数据库中。如果你再次加载它,你可以尝试在加载前或加载时添加这个。

 cbLocationAllow.IsChecked = settings["allowLocation"];
如果您还需要什么,请告诉我。

尝试使用Mat lacey的Tombstone助手,它使保存所有Silverlight页面的状态非常容易,实际上在大多数情况下,每个页面只需两行代码即可完成。

WP7墓碑助手