C# Windows phone 8.1如何重新加载资源文件
我想知道是否可以加载资源文件 我是说。我目前有两个文件夹是fr-fr-end-en-US 在每个文件夹中,我都有一个Resources.resw。当我更改手机设置中的语言时,这两个文件可以工作。如果手机位于FR或US,它将加载正确的Resources.resw 但是我想知道我是否可以在应用程序中更改它? 当用户选择fr/en时,加载正确的文件 感谢您的帮助。我们可以在运行时使用更改语言,而无需重新启动手机和应用程序:C# Windows phone 8.1如何重新加载资源文件,c#,windows-phone-8,windows-phone-8.1,windows-store-apps,C#,Windows Phone 8,Windows Phone 8.1,Windows Store Apps,我想知道是否可以加载资源文件 我是说。我目前有两个文件夹是fr-fr-end-en-US 在每个文件夹中,我都有一个Resources.resw。当我更改手机设置中的语言时,这两个文件可以工作。如果手机位于FR或US,它将加载正确的Resources.resw 但是我想知道我是否可以在应用程序中更改它? 当用户选择fr/en时,加载正确的文件 感谢您的帮助。我们可以在运行时使用更改语言,而无需重新启动手机和应用程序: private async void ChangeLagButton_
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());
}
我们可以在运行时使用更改语言,而无需重新启动手机和应用程序:
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));页面被重新加载,但语言是相同的,我必须重新运行应用程序使其工作,这是任务的功能。Deplay(100),如果不使用它,则使用框架。首次导航将不工作为什么等待任务。延迟(100)?我使用page.Frame.Navigate(typeOf(MyPage));页面已重新加载,但语言是相同的,我必须重新运行应用程序使其工作,这是任务的功能。Deplay(100),如果不使用,请使用框架。首次导航将不起作用