Windows phone 8.1 在windows phone 8.1通用应用程序中更改语言

Windows phone 8.1 在windows phone 8.1通用应用程序中更改语言,windows-phone-8.1,globalization,win-universal-app,Windows Phone 8.1,Globalization,Win Universal App,这是我在应用程序的设置页面中使用的代码。在设置页面之后,我还将flow=从右向左设置,并在代码中手动更改标题 问题:问题是在设置语言并返回后,每个页面都更改了语言,但我的主屏幕仍然显示英语,除非我完全终止应用程序并再次打开,然后在主屏幕上显示阿拉伯语 如果您不理解该问题,请询问。资源加载器会缓存资源,因此您必须在更改语言时手动删除该缓存。有关更多信息,请参阅 if (LanguageComboBox.SelectedIndex == 0) {

这是我在应用程序的设置页面中使用的代码。在设置页面之后,我还将flow=从右向左设置,并在代码中手动更改标题

问题:问题是在设置语言并返回后,每个页面都更改了语言,但我的主屏幕仍然显示英语,除非我完全终止应用程序并再次打开,然后在主屏幕上显示阿拉伯语


如果您不理解该问题,请询问。

资源加载器会缓存资源,因此您必须在更改语言时手动删除该缓存。有关更多信息,请参阅

        if (LanguageComboBox.SelectedIndex == 0)
        {
            var culture = new CultureInfo("en-US");
            Windows.Globalization.ApplicationLanguages.PrimaryLanguageOverride = culture.Name;
            CultureInfo.DefaultThreadCurrentCulture = culture;
            CultureInfo.DefaultThreadCurrentUICulture = culture;
            (Window.Current.Content as Frame).FlowDirection = Windows.UI.Xaml.FlowDirection.LeftToRight;
            var loader = new Windows.ApplicationModel.Resources.ResourceLoader();
            HeadingTextBlock.Text = loader.GetString("Setting");
        }
        else if (LanguageComboBox.SelectedIndex == 1)
        {
            var culture = new CultureInfo("ar-SA");
            Windows.Globalization.ApplicationLanguages.PrimaryLanguageOverride = culture.Name;
            CultureInfo.DefaultThreadCurrentCulture = culture;
            CultureInfo.DefaultThreadCurrentUICulture = culture;
            (Window.Current.Content as Frame).FlowDirection = Windows.UI.Xaml.FlowDirection.RightToLeft;
            var loader = new Windows.ApplicationModel.Resources.ResourceLoader();
            HeadingTextBlock.Text = loader.GetString("Setting");
        }