WP7 Isolated Storage详解(3)-应用程序配置信息IsolatedStorageSettings
首先创建一个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;
效果如下:
最佳方式
在尝试读取一个对象之前检查目标是否存在。
if(settings.Contains("myemail")) { ... }
推荐.NET配套的通用数据层ORM框架:CYQ.Data 通用数据层框架