不是给定 culture.parameter 名称的有效日历:值

not a valid calendar for the given culture.parameter name: value

这是我的场景。我构建了 xamarin 表单应用程序。当用户设备语言是英语时,它工作正常..但在阿拉伯语中。他打开的任何包含 DatePicker 或日期时间的页面应用程序崩溃..请提供任何帮助。

尝试在使用图像选择器中的日期值时指定语言环境

               var dateFormatter = new NSDateFormatter
                {
                    DateFormat = _dateFormatString
                };

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

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

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

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