Как сохранить изменения на UWP? - PullRequest
0 голосов
/ 11 октября 2019

У меня есть простой и основной вопрос: как заставить мое приложение сохранять изменения в текстовом поле и других редактируемых инструментах (например, радиокнопках / цветах и ​​т. Д.)?

Я кодирую приложение UWP в Visual Studio. Когда я запускаю приложение на VS, текст, который я пишу в текстовых полях, исчезает, когда я закрываю приложение.

Извините, я только начал несколько дней назад и не могу найти решение ...

Спасибо!

Ответы [ 2 ]

1 голос
/ 11 октября 2019

вам нужно хранить эти данные локально, когда вы закрываете свое приложение. поэтому при перезапуске приложения сначала выберите данные из этого локального хранилища и сохраните или добавьте их в текстовое поле.

Ниже приведены два способа хранения.

  1. Создайте один текстовый файл и сохраните в нем свои данные, чтобы вы могли извлекать данные при каждом перезапуске приложения.
  2. вы можете использовать настройки для хранения локальных данных. пожалуйста, проверьте ссылку ниже для получения дополнительной информации. https://docs.microsoft.com/en-us/windows/uwp/get-started/settings-learning-track
0 голосов
/ 14 октября 2019

По 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);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...