就像在这个问题的标题中所说的那样,我试图在应用程序关闭时保留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()
作为时间安排。
再次感谢!
答案 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);
}