如何存储字典<;字符串,对象>;在Windows 8 Metro应用程序中的容器中
本文关键字:Windows 应用程序 gt Metro 存储 何存储 字典 字符串 lt 对象 | 更新日期: 2023-09-27 18:25:40
我是一名windows Phone开发人员。。我最近开始开发windows 8 metro风格的应用程序。我试图弄清楚存储用户数据等基础知识。我试着将dictionary类型的字典存储在一个容器中。当我尝试这样做时,我得到一个异常,说这种类型的数据无法存储!我做错了什么?我的代码看起来像这样:
这是我的存储管理员类:
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不能执行同样的操作?
您可以使用XML序列化。ApplicationData.Current.LocalSettings
并不支持所有的数据类型。还有一些可用的库提供了类似于隔离存储的功能。它们还使用XML序列化。
WinRT 的通用对象存储帮助程序
Windows 8独立存储