I\'m trying to save my model in isolated storage:
var settings = IsolatedStorageSettings.ApplicationSettings;
CurrentPlaceNowModel model = new CurrentPlaceNowMo
I've just noticed what you've done wrong:
if (model == null)
{
MessageBox.Show("NULL");
settings.Add("model", model);
}
That's going to be equivalent to calling settings.Add("model", null)
- so how would you expect to get a non-null value out later? I suspect you want:
CurrentPlaceNowModel model;
if (!settings.TryGetValue<CurrentPlaceNowModel>("model", out model))
{
model = new CurrentPlaceNowModel();
settings.Add("model", model);
}
I'd do this differently and make a specific check to see if the key exists.
CurrentPlaceNowModel model;
using (var settings = IsolatedStorageSettings.ApplicationSettings)
{
if (settings.Contains("MODEL"))
{
model = settings["MODEL"] as CurrentPlaceNowModel;
}
else
{
model = new CurrentPlaceNowModel();
settings.Add("MODEL", model);
settings.Save();
}
}
This pattern of working with IsolatedStorage definitely works.
The only reason that this wouldn't work would be if CurrentPlaceNowModel
could not be serialized with the DataContractSerializer. This is what the ApplicationSettings uses internally to serialize objects.
You can test this by serialising it this way yourself to see what happens.