2016-11-09 75 views
0

我想知道它是否有可能加载资源文件?Windows Phone 8.1如何加载资源文件RESW

我是说。我目前有2个文件夹是fr-FR end en-US。

在每个文件夹中,我有一个Resources.resw。当我在手机设置中更改语言时,这两个文件可以正常工作。如果手机在FR或美国,它将加载正确的Resources.resw。

但我想知道如果我可以改变它在应用程序内? 当用户选择fr/en时加载正确的文件。

enter image description here

谢谢您的帮助。

回答

2

我们可以使用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());   
    } 
+0

为什么等待Task.Delay(100)? –

+0

我使用Page.Frame.Navigate(typeOf(MyPage));页面重新加载,但语言是相同的,我必须重新运行应用程序,使其工作 –

+0

这是Task.Deplay(100)的功能,如果你不使用它,使用Frame.Navigate为第一次将不起作用 –