退出时保留Silverlight应用程序中的值

时间:2011-11-21 21:10:42

标签: c# silverlight xaml windows-desktop-gadgets

就像在这个问题的标题中所说的那样,我试图在应用程序关闭时保留Timespan值。这就是情况......我正在编写一个Windows小工具,每次关闭弹出窗口时都会将其销毁,Timespan值也随之消失。我想要它,所以每次关闭弹出窗口时,它都会保留这个值,如何实现?

我目前正在做的代码如下。

SilverlightGadgetUtilities.Stopwatch watch = new SilverlightGadgetUtilities.Stopwatch();

    private void Application_Startup(object sender, StartupEventArgs e)
    {
        watch.currentTime();
        this.RootVisual = new Page();

    }

    private void Application_Exit(object sender, EventArgs e)
    {

        watch.currentTime();
    }

这是我的秒表课程:

    public TimeSpan? currentTime()
    {
        current = Elapsed;
        return current;
    }

    public TimeSpan? Elapsed
    {
        get
        {
            return new TimeSpan(this.GetElapsedDateTimeTicks() * 10000000);
        }
    }

GetElapsedDateTimeTicks()正在使用DateTime.Now.Second()作为时间安排。

再次感谢!

1 个答案:

答案 0 :(得分:2)

您可以将数据存储在应用程序的独立存储设置中,并在启动时检索它。

以下是将信息存储在IsolatedStorageSettings中的示例:

IsolatedStorageSettings.ApplicationSettings.Add("MySettingName", MySetting);

然后您将使用以下方法检索它:

IsolatedStorageSettings.ApplicationSettings["MySettingName"];

IsolatedStorageSettings.ApplicationSettings的行为非常类似于字典。您应该检查是否已存储该名称的设置,如果存储,则将其删除或覆盖它。覆盖它可以这样做:

if (!IsolatedStorageSettings.ApplicationSettings.Contains("MySettingName"))
    IsolatedStorageSettings.ApplicationSettings.Add("MySettingName", MySetting);
else
    IsolatedStorageSettings.ApplicationSettings["MySettingName"] = MySetting;

删除和重新添加的代码类似,除了交换else块:

else
{
    IsolatedStorageSettings.ApplicationSettings.Remove("MySettingName");
    IsolatedStorageSettings.ApplicationSettings.Add("MySettingName", MySetting);
}