对于给定的区域性不是有效的日历。参数名称:值

时间:2019-01-17 14:32:48

标签: xamarin.ios xamarin-forms-4

这是我的情况。我建立了xamarin表单应用程序。当用户设备语言为英语时,它可以正常工作。但是使用阿拉伯语。他打开的任何包含DatePicker或Datetime应用程序崩溃的页面..请提供任何帮助。

2 个答案:

答案 0 :(得分:2)

这是一个已知的Xamarin错误,自2015年我报告以来,他们无法修复。 简而言之,链接器认为您不需要其他日历而不是默认日历。 即使项目设置指定它支持这些语言。 为了解决此问题,请在您的代码中创建日历。 (强制链接器包括它们) 并从AppDelegate.cs或其他Famarin Forms应用程序init方法调用它:

private static void PreventLinkerFromStrippingCommonLocalizationReferences()
{
        _ = new System.Globalization.GregorianCalendar();
        _ = new System.Globalization.PersianCalendar();
        _ = new System.Globalization.UmAlQuraCalendar();
        _ = new System.Globalization.ThaiBuddhistCalendar();
}

https://github.com/xamarin/xamarin-android/issues/2511

答案 1 :(得分:1)

使用图像选择器中的日期值时尝试指定区域设置

               var dateFormatter = new NSDateFormatter
                {
                    DateFormat = _dateFormatString
                };

                var enLocale = new NSLocale("en_US");
                dateFormatter.Locale = enLocale;

                sender.Text = dateFormatter.ToString(modalPicker.DatePicker.Date);