我是一名Windows Phone开发者..我最近开始开发Windows 8 metro风格的应用程序。我试图弄清楚存储用户数据等基础知识。我尝试在容器中存储类型字典的字典。当我尝试这样做时,我得到一个例外,说这种类型的数据无法存储!我究竟做错了什么?我的代码看起来像这样:
这是我的存储管理员课程:
ApplicationDataContainer localSettings = ApplicationData.Current.LocalSettings;
StorageFolder storageFolder = ApplicationData.Current.LocalFolder;
public bool SaveToStorage(string containerName, string key, object dataToStore)
{
try
{
if (!localSettings.Containers.ContainsKey(containerName))
{
localSettings.CreateContainer(containerName, ApplicationDataCreateDisposition.Always);
}
localSettings.Containers[containerName].Values.Add(key, dataToStore);
return true;
}
catch (Exception ex)
{
return false;
}
}
这就是传递字典的方式
Dictionary<string, object> profileDict = new Dictionary<string, object>();
profileDict.Add(Utilities.FirstName, txtBoxFName.Text);
profileDict.Add(Utilities.LastName, txtBoxLName.Text);
profileDict.Add(Utilities.EMail, txtBoxEmail.Text);
SaveToStorage(Utilities.MyMedicalProfileContainer, Utilities.MyProfile, profileDict);
有人可以帮我解决这个问题。我做错了什么? 任何帮助和建议赞赏!
为什么没有隔离存储dll可以做同样的事情?
答案 0 :(得分:1)
您可以使用XML序列化。 ApplicationData.Current.LocalSettings
不支持所有数据类型。还有一些可用的库提供类似于隔离存储的功能。他们还使用XML序列化。