gpt4 book ai didi

c# - 从另一个页面读取 IsolatedStorage 中的设置

转载 作者:太空宇宙 更新时间:2023-11-03 22:06:54 25 4
gpt4 key购买 nike

简单的问题,之前有人问过,但没有人给我正确的答案,所以我会非常具体。

我需要在 Windows Phone 中读取 IsolatedStorage 的两个设置。设置为 ExitAlertOrientationLock。我已经设置好了,它们保存得很好,我只需要知道如何从另一个页面读取它们。设置变量的页面是Settings.cs,我需要从MainPage.xaml.cs中读取设置。我还需要知道如何仅在变量为真或假时才做某事。我想我应该使用 if-then-else 语句,但我只是想仔细检查一下。

我的应用是用 C# 编写的。这是我用来存储设置的代码:

using System;
using System.IO.IsolatedStorage;
using System.Diagnostics;

namespace Google_
{
public class AppSettings
{

IsolatedStorageSettings isolatedStore;

// isolated storage key names
const string ExitWarningKeyName = "ExitWarning";
const string OrientationLockKeyName = "OrientationLock";

// default values
const bool ExitWarningDefault = true;
const bool OrientationLockDefault = false;

public AppSettings()
{
try
{
// Get the settings for this application.
isolatedStore = IsolatedStorageSettings.ApplicationSettings;

}
catch (Exception e)
{
Debug.WriteLine("Exception while using IsolatedStorageSettings: " + e.ToString());
}
}


public bool AddOrUpdateValue(string Key, Object value)
{
bool valueChanged = false;

// If the key exists
if (isolatedStore.Contains(Key))
{
// If the value has changed
if (isolatedStore[Key] != value)
{
// Store the new value
isolatedStore[Key] = value;
valueChanged = true;
}
}
// Otherwise create the key.
else
{
isolatedStore.Add(Key, value);
valueChanged = true;
}

return valueChanged;
}

public valueType GetValueOrDefault<valueType>(string Key, valueType defaultValue)
{
valueType value;

// If the key exists, retrieve the value.
if (isolatedStore.Contains(Key))
{
value = (valueType)isolatedStore[Key];
}
// Otherwise, use the default value.
else
{
value = defaultValue;
}

return value;
}

public void Save()
{
isolatedStore.Save();
}

public bool ExitWarning
{
get
{
return GetValueOrDefault<bool>(ExitWarningKeyName, ExitWarningDefault);
}
set
{
AddOrUpdateValue(ExitWarningKeyName, value);
Save();
}
}

public bool OrientationLock
{
get
{
return GetValueOrDefault<bool>(ExitWarningKeyName, OrientationLockDefault);
}
set
{
AddOrUpdateValue(OrientationLockKeyName, value);
Save();
}
}

}
}

如果有任何不清楚的地方,请告诉我,以便我进一步解释。谢谢。

最佳答案

我所做的是将以下内容添加到我的 AppSettings 类中:

private static AppSettings _default = new AppSettings();
/// <summary>
/// Gets the default instance of the settings
/// </summary>
public static AppSettings Default
{
get
{
return _default;
}
}

然后您可以在项目的任何位置使用 AppSettings.Default:

if (AppSettings.Default.ExitWarning)
{
}
else
{
}

如果您需要更多信息,请告诉我。

关于c# - 从另一个页面读取 IsolatedStorage 中的设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8114350/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com