我们如何在 Xamarin 窗体中从 iPhone 检测区域设置



我现在正在本地化Xamarin Forms应用程序。

在iOS中,用户可以在不更改设备语言的情况下更改区域设置,对吗?我们如何在 Xamarin 窗体中检测此区域设置?我尝试使用以下代码来获取当前区域性,但除非我们更改语言设置,否则区域设置不会对CurrentCulture执行任何操作。

var culture = CultureInfo.CurrentCulture

我需要在应用程序中显示一个十进制值,该值应该在美国地区显示为 123.456,123,456 是法国地区。只有当我更改语言设置时,我才会得到 123,456。

我可以使用NSLocale获取当前语言环境,这给了我en_FR。但是,如果我使用它来创建一个新CultureInfo它会引发System.Globalization.CultureNotFoundException异常。

            var culture = new CultureInfo("en_FR");

您可能想尝试 NSLocale.CurrentLocale。

通过使用

NSLocale.CurrentLocaleDidChangeNotification 作为使用 NSNotificationCenter 进行监视的通知,可以通知应用程序本地系统中的更改。

我知道

我参加聚会有点晚了,但在 .NET 中,您必须替换区域性字符串中的下划线。

var culture = new CultureInfo("en-FR");

最新更新