【问题标题】:Windows Phone 8.1 manually change resource file in code behindWindows Phone 8.1 在后面的代码中手动更改资源文件
【发布时间】:2014-07-29 15:29:37
【问题描述】:
我正在开发需要在 Windows Phone 8.1 中处理多元文化和资源的应用程序。
目前,如果我的手机语言设置为英语,如果我将其更改为法语或其他任何它也可以使用的语言,它会加载 en 语言。我想做的是让用户能够在不更改手机语言的情况下更改应用程序中的语言。当用户可以从可能性列表中选择语言时,我希望有一个设置页面。将其保存在一些存储设置中,并在应用程序开始加载适当的资源后。
我想不通的是如何根据存储中的一些设置来加载特定的资源。
【问题讨论】:
标签:
c#
windows-phone-8
windows-phone
windows-phone-8.1
【解决方案1】:
使用IsolatedStorage 存储用户选择的语言字符串。
加载应用后,您可以使用用户选择的语言更改语言
Windows.Globalization.ApplicationLanguages.PrimaryLanguageOverride
财产。
【解决方案2】:
让我给你一些细节。
在您的项目中创建一个作为LacalizedStrings.cs 的类。
让我们把资源文件名是AppResources
public class LocalizedStrings
{
private static AppResources _localizedResources = new AppResources();
public AppResources LocalizedResources { get { return _localizedResources; } }
}
在您的AppResources 中将一个键设置为ResourceLanguage,并将值设置为en-US。
现在这个值你可以保存在IsolatedStorage和时间
private void Application_Launching(object sender, LaunchingEventArgs e)
{
}
或
private void Application_Activated(object sender, ActivatedEventArgs e)
{
}
您可以从IsolatedStorage 检查该值并使用它。
希望对你有帮助。