2015-02-05 84 views
0

我需要一些關於如何更改應用程序語言的提示。 (Windows 8.1)以編程方式更改應用程序語言(用戶預置)

所以這裏是我的代碼,我把它放在OnLaunched方法下,它得到當前的優先語言。我正在使用多語言應用程序工具包。我擁有所有的資源文件。

但我不知道接下來該做什麼。

var rootFrame1 = new Frame(); rootFrame1.Language = Windows.System.UserProfile.GlobalizationPreferences.Languages[0];

回答

4

你必須用這種方式來設置當前CultureInfo屬性:

var culture = new CultureInfo("en-US"); 
Windows.Globalization.ApplicationLanguages.PrimaryLanguageOverride = culture.Name; 
CultureInfo.DefaultThreadCurrentCulture = culture; 
CultureInfo.DefaultThreadCurrentUICulture = culture; 
0

一些資源點把這個代碼在頁面構造函數到您的默認語言的反應正在改變

ResourceContext.GetForCurrentView().QualifierValues.MapChanged += 
       (IObservableMap<string, string> sender, IMapChangedEventArgs<string> e) => 
       { 
        ResourceManager.Current.DefaultContext.Reset(); 
       }; 

此外,值得一提的是,更改語言的最佳方法是設置Windows.Globalization.ApplicationLanguages.PrimaryLanguageOverride pr operty。

這對Windows Phone 8.1不太好,但有人聲稱這解決了他們在Windows 8.1上的問題。

相關問題