如何存储字典<;字符串,对象>;在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不能执行同样的操作?

如何存储字典<;字符串,对象>;在Windows 8 Metro应用程序中的容器中

您可以使用XML序列化。ApplicationData.Current.LocalSettings并不支持所有的数据类型。还有一些可用的库提供了类似于隔离存储的功能。它们还使用XML序列化。

WinRT 的通用对象存储帮助程序

Windows 8独立存储