0

节目背景:

我正在为 windows phone 7 构建一个应用程序,你可以在其中输入你一周的日常活动和营养计划,这样人们就可以在去健身房等时得到提醒。

每天都有一份小清单,列出当天的锻炼代表和设定的意愿。然而,如果他们那天没有训练,这意味着这是一个“休息日”,他们按下休息日按钮,一个画布出现在列表中,上面写着休息日。

问题是我让应用程序使用 xml 保存画布关闭或启动的状态,以便当用户返回该页面或返回应用程序时,画布将是他们离开它的方式。

我目前拥有的代码是:

程序加载时:这会检查程序最后一次使用的时间是用户的休息日画布是向上(true)还是向下(false)

bool searchValueMon;
if (monRest == true)
{
    canMon.Visibility = Visibility.Collapsed;
    mondayReadData();
    IsolatedStorageSettings.ApplicationSettings.Remove("true");
    IsolatedStorageSettings.ApplicationSettings.Save();
}

else

{
    canMon.Visibility = Visibility.Visible;
    IsolatedStorageSettings.ApplicationSettings.Remove("false");
    IsolatedStorageSettings.ApplicationSettings.Save();
}

星期一的休息按钮:这会将画布向上(隐藏列表)

       canMon.Visibility = Visibility.Visible;
       monRest = false;

        IsolatedStorageSettings.ApplicationSettings.Add("false", monRest);


        // Write to the Isolated Storage
        XmlWriterSettings x_W_Settings = new XmlWriterSettings();
        x_W_Settings.Indent = true;

        using (IsolatedStorageFile ISF = IsolatedStorageFile.GetUserStoreForApplication())
        {
            using (IsolatedStorageFileStream stream = ISF.OpenFile("MonRest.xml", FileMode.Create))
            {
                XmlSerializer serializer = new XmlSerializer(typeof(List<Rest>));
                using (XmlWriter xmlWriter = XmlWriter.Create(stream, x_W_Settings))
                {
                    serializer.Serialize(xmlWriter, GenerateMonRestData());
                }
            }
        }

        IsolatedStorageSettings.ApplicationSettings.Remove(Convert.ToString(monRest));
        IsolatedStorageSettings.ApplicationSettings.Save();

以下是画布上名为“练习”的按钮,用于折叠画布,为一天的训练做好准备:

   private void btnMonEx_Click(object sender, RoutedEventArgs e)
    {
        canMon.Visibility = Visibility.Collapsed;
        //monRest = true;

        // IsolatedStorageSettings.ApplicationSettings.Remove("false");
        IsolatedStorageSettings.ApplicationSettings.Add("true", monRest);

        //IsolatedStorageSettings.ApplicationSettings.Save();

        mondayReadData();


       // IsolatedStorageSettings.ApplicationSettings.Remove(Convert.ToString(monRest));
        IsolatedStorageSettings.ApplicationSettings.Save();

    }

该程序似乎根本没有保存画布的状态,当我按下画布折叠或向上时,程序崩溃。

关于这可能是什么的任何想法?我真的很难找到解决这个问题的方法。

4

0 回答 0