繁体   English   中英

如何保存对 UWP 的更改?

[英]How to save changes on UWP?

我有一个简单而基本的问题:如何让我的应用程序在文本框和其他可编辑工具(如单选按钮/颜色等)上保存更改?

我正在 Visual Studio 上编写 UWP 应用程序。 当我在 VS 上午餐应用程序时,我在文本框中输入的文本会在我关闭应用程序时消失。

抱歉,我几天前才开始,找不到解决方案...

谢谢!

当您关闭应用程序时,您需要在本地存储该数据。 因此,当您重新启动应用程序时,首先从该本地存储中获取数据并保存或 append 将其保存在您的文本框中。

您可以使用以下两种方式来存储它。

  1. 创建一个文本文件并将您的数据存储在其中,这样您就可以在应用程序重新启动时获取数据。
  2. 您可以使用设置来存储本地数据。 请查看以下链接以获取更多信息。 https://docs.microsoft.com/en-us/windows/uwp/get-started/settings-learning-track

通过 localSettings,您可以将数据本地存储在您的机器中。

public static class LocalSettingsHelper
{
    private static ApplicationDataContainer _localSettings = ApplicationData.Current.LocalSettings;

    /// <summary>
    /// Create Local Settings storage Container
    /// </summary>
    /// <typeparam name="T">Type</typeparam>
    /// <param name="container">Container</param>
    /// <param name="containerValue">ContainerValue</param>
    /// <param name="value">Value</param>
    internal static void SetContainer<T>(string container, string containerValue, T value)
    {
        var containerName = _localSettings.CreateContainer(container, ApplicationDataCreateDisposition.Always);
        _localSettings.Containers[container].Values[containerValue] = value != null ? JsonConvert.SerializeObject(value) : null;
    }
    /// <summary>
    /// Get Local Settings Container 
    /// </summary>
    /// <typeparam name="T">Type</typeparam>
    /// <param name="container">Container</param>
    /// <param name="containerValue">ContainerValue</param>
    /// <returns>Value as Type</returns>
    internal static T GetContainerValue<T>(string container, string containerValue)
    {
        var containerName = _localSettings.CreateContainer(container, ApplicationDataCreateDisposition.Always);
        string currentValue = _localSettings.Containers[container].Values[containerValue] as string;
        if (currentValue == null)
        {
            return default(T);
        }
        return JsonConvert.DeserializeObject<T>(currentValue);
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM