这是我的情况。我建立了xamarin表单应用程序。当用户设备语言为英语时,它可以正常工作。但是使用阿拉伯语。他打开的任何包含DatePicker或Datetime应用程序崩溃的页面..请提供任何帮助。
答案 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();
}
答案 1 :(得分:1)
使用图像选择器中的日期值时尝试指定区域设置
var dateFormatter = new NSDateFormatter
{
DateFormat = _dateFormatString
};
var enLocale = new NSLocale("en_US");
dateFormatter.Locale = enLocale;
sender.Text = dateFormatter.ToString(modalPicker.DatePicker.Date);