如何在Windows 10 UWP上获取用户的区域?

时间:2017-06-01 15:55:08

标签: c# uwp windows-10

我想根据用户当前的区域下载网站的内容。为此我需要国家代码,如USFR等。如何获得?

我试过这些:

这总是显示美国。我认为它来自应用程序清单。

var region = RegionInfo.CurrentRegion;

和此:

var cultureName = new DateTimeFormatter("longdate", new[] { "US" }).ResolvedLanguage;

return new CultureInfo(cultureName);
这是有效的。返回类似en-US的内容,我可以从中提取国家/地区代码。但有时它可能只返回没有国家/地区代码的语言en

如何获取系统当前的两个字符国家/地区代码?感谢。

1 个答案:

答案 0 :(得分:5)

要获得用户的家庭区域设置,我们可以使用GlobalizationPreferences.HomeGeographicRegion属性。

// Obtain the user's home geographic region.
var region = Windows.System.UserProfile.GlobalizationPreferences.HomeGeographicRegion;

主页区域通常在安装Windows时设置,并且可用于 设置→时间&语言→地区&语言→国家或地区

Windows.Globalization还有一个GeographicRegion对象,作为辅助对象提供。它允许应用程序检查有关特定区域的详细信息,例如其显示名称,本机名称和正在使用的货币。

// Get the user's geographic region and its two-letter identifier for this region.
var geographicRegion = new Windows.Globalization.GeographicRegion();
var code = geographicRegion.CodeTwoLetter;

有关详细信息,请参阅Manage language and region