Сохранение значений в приложении Silverlight при выходе - PullRequest
0 голосов
/ 22 ноября 2011

Как сказано в заголовке этого вопроса, я пытаюсь сохранить значение Timespan, когда приложение закрыто.Вот ситуация ... Я пишу гаджет Windows, каждый раз, когда всплывающее окно закрывается, оно уничтожает его и значение Timespan вместе с ним.Я хочу, чтобы каждый раз, когда всплывающее окно закрывалось, оно сохраняло это значение, как бы этого достичь?

Код того, что я сейчас делаю, приведен ниже.в моем классе Секундомер:

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

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

Где GetElapsedDateTimeTicks() использует DateTime.Now.Second() для синхронизации.

Еще раз спасибо!

1 Ответ

2 голосов
/ 22 ноября 2011

Вы можете хранить данные в изолированных настройках вашего приложения и извлекать их при запуске.

Вот пример хранения информации в 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);
}
...