首先创建一个Windows Phone 7项目,然后在MainPage.xaml.cs(或其他页面文件)中引入命名空间:

using System.IO.IsolatedStorage;

向WP7隔离存储空间中存储数据最简单的方式就是通过类IsolatedStorageSettings。其实是隔离存储空间里面的Dictionary<TKey, TValue>,一般用于简单的配置信息,例如有key和value的对应。

提示:IsolatedStorageSettings只支持key/value这种对应格式。

通过IsolatedStorageSettings存储字符串

存储一个字符串代表邮箱:

public void SaveStringObject()
{
    var settings = IsolatedStorageSettings.ApplicationSettings;
    settings.Add("myemail", "myemail@zdave.net");
}

通过IsolatedStorageSettings读取字符串

读取刚才存储的邮箱:

var email= settings["myemail"] as string;

通过IsolatedStorageSettings存储复杂对象

这个示例将演示如何存储复杂对象。首先创建一个简单的类City,然后通过IsolatedStorageSettings存储。

public void SaveCompositeObject()
{
    var settings = IsolatedStorageSettings.ApplicationSettings;
    City city = new City { Name = "London", Flag = "uk.png" };
    settings.Add("city", city);
}
 
public class City
{
    public string Name
    {
        get;
        set;
    }
 
    public string Flag
    {
        get;
        set;
    }
}

通过IsolatedStorageSettings读取复杂对象

读取上面存储的City信息:

City City1;
settings.TryGetValue<City>("city", out City1);

IsolatedStorageSettings与数据绑定

这个示例将展示如何通过IsolatedStorageSettings数据绑定到刚才的City信息:

<TextBlock Text="{Binding Name}" FontSize="50"/>
<Image Source="{Binding Flag}" Stretch="None" HorizontalAlignment="Left"/>
City City1;
settings.TryGetValue<City>("city", out City1);
 
this.DataContext = City1;

效果如下:

IsolatedStorageSettingsdatabinding

最佳方式

在尝试读取一个对象之前检查目标是否存在。

if(settings.Contains("myemail"))
{
...
}

作者: Zdave 发表于 2011-05-09 11:04 原文链接

推荐.NET配套的通用数据层ORM框架:CYQ.Data 通用数据层框架