Windows Phone 8.1如何加载资源文件RESW
问题描述:
我想知道它是否有可能加载资源文件?Windows Phone 8.1如何加载资源文件RESW
我是说。我目前有2个文件夹是fr-FR end en-US。
在每个文件夹中,我有一个Resources.resw。当我在手机设置中更改语言时,这两个文件可以正常工作。如果手机在FR或美国,它将加载正确的Resources.resw。
但我想知道如果我可以改变它在应用程序内? 当用户选择fr/en时加载正确的文件。
谢谢您的帮助。
答
我们可以使用ApplicationLanguages.PrimaryLanguageOverride在运行时改变语言没有重新启动手机应用:
private async void ChangeLagButton_Click(object sender, RoutedEventArgs e)
{
var culture = new System.Globalization.CultureInfo("fr-FR");
Windows.Globalization.ApplicationLanguages.PrimaryLanguageOverride = culture.Name;
Windows.ApplicationModel.Resources.Core.ResourceContext.GetForCurrentView().Reset();
Windows.ApplicationModel.Resources.Core.ResourceContext.GetForViewIndependentUse().Reset();
await Task.Delay(100);
//To refresh the UI without restart the phone
this.Frame.Navigate(this.GetType());
}
为什么等待Task.Delay(100)? –
我使用Page.Frame.Navigate(typeOf(MyPage));页面重新加载,但语言是相同的,我必须重新运行应用程序,使其工作 –
这是Task.Deplay(100)的功能,如果你不使用它,使用Frame.Navigate为第一次将不起作用 –