2016-08-26 27 views
3

對於UWP,根據博客條目CultureInfo changes in UWP,CultureInfo有一些變化。我可以拿GlobalizationPreferences正確得到CultureInfo嗎?UWP:獲取當前CultureInfo

public CultureInfo GetCurrentCultureInfo() 
{ 
    return new CultureInfo(Windows.System.UserProfile.GlobalizationPreferences.Languages[0].ToString()); 
} 

取自this example

+0

你想做什麼?你是否想要獲得當前的操作系統文化? –

+0

我想知道設備的當前語言(不是地區)。所以我想我可以使用'CultureInfo'。 – testing

回答

2

我可以通過GlobalizationPreferences正確獲取CultureInfo嗎?

是的,你可以,我已經測試過你的方法,它在我身邊效果很好。

我想知道設備的當前語言(不是區域)。

您還可以使用Windows.Globalization.Language.CurrentInputMethodLanguageTag獲取當前啓用的鍵盤佈局或輸入。

+0

「CurrentInputMethodLanguageTag」僅當鍵盤存在時纔可用? – testing

+0

@testing,我認爲不行,用移動模擬器測試,沒有現在的鍵盤,它也可以。 –

+0

@ GraceFeng-MSFT實際上,該方法沒有返回正確的CultureInfo關於區域設置(這是我的文章是關於!) –

2

如果您需要的是正確的CultureInfo(考慮用戶/機器區域設置的文件信息),那麼您應該使用該博客帖子上的信息,或者甚至更好地使用GetLocaleInfoEx Win32 API回顧它。

我寫了一篇文章的Part 2,其中包括如何使用此API的完整示例。

+1

謝謝,將調查此。 –