我正在尝试为CalendarDatePicker设置日期格式以用于全球化目的。我试过这个:
endDate = (FindName("cdpEnd") as CalendarDatePicker);
endDate.DateFormat = CultureInfo.CurrentCulture.DateTimeFormat.ShortDatePattern;
endDate.Date = workObject.EndCal;
但它给了我以下例外:
System.ArgumentException: The parameter is incorrect.
formatTemplate
at Windows.UI.Xaml.Controls.CalendarDatePicker.put_DateFormat(String value)
at App1.PageWorkObject.rootGrid_Loaded(Object sender, RoutedEventArgs e)
我检查了我设置的值,看起来很正常:"M/d/yyyy"
我做错了什么?
答案 0 :(得分:2)
当您使用CalendarDatePicker时,TextBox
部分的字符串内容由DateTimeFormatter创建。
"M/d/yyyy"
似乎很正常,但
重要您不能随意组合组件,必须获得有效的模板。唯一有效的模板是由提供的语法定义的模板。
如果您阅读了DateTimeFormatter
课程,您会发现没有"M/d/yyyy"
这样的格式,格式与"M/d/yyyy"
相同,我认为它应该是这样的:< / p>
endDate.DateFormat = "{month.integer}/{day.integer}/{year.full}";