我有多个 RadDatePicker 的表单,一切正常,但是当我想输入日期时,我希望最终用户以 dd/mm/yyyy 格式输入日期,但该工具只接受 mm/dd/yyyy 格式的日期!
示例:13/12/2016 如果用户输入 13 然后按空格键然后输入 12 然后按空格键 2016 然后按回车它给出错误
如何更改输入日期的格式?
提前致谢。
我有多个 RadDatePicker 的表单,一切正常,但是当我想输入日期时,我希望最终用户以 dd/mm/yyyy 格式输入日期,但该工具只接受 mm/dd/yyyy 格式的日期!
示例:13/12/2016 如果用户输入 13 然后按空格键然后输入 12 然后按空格键 2016 然后按回车它给出错误
如何更改输入日期的格式?
提前致谢。
尝试ShortDatePattern
设置DateTimeFormatInfo
:
CultureInfo cultureInfo = new CultureInfo("en-US");
DateTimeFormatInfo dateInfo = new DateTimeFormatInfo();
dateInfo.ShortDatePattern = "dd/MM/yyyy";
cultureInfo.DateTimeFormat = dateInfo;
radDatePicker1.Culture = cultureInfo;
您还应该实现自定义解析:http ://docs.telerik.com/devtools/wpf/controls/raddatetimepicker/how-to/implement-custom-parsing
例子:
private void radDateTimePicker_ParseDateTimeValue(object sender, Telerik.Windows.Controls.ParseDateTimeEventArgs args)
{
DateTime date;
string input = args.TextToParse.ToLower();
CultureInfo provider = CultureInfo.InvariantCulture;
string format = "dd/MM/yyyy";
if (DateTime.TryParseExact(input, format, provider, DateTimeStyles.None, out date))
{
args.Result = date;
}
else
{
args.IsParsingSuccessful = false;
}
}
最后,我通过将文化从“en-US”更改为“ar-LY”解决了这个问题
<telerik:RadDatePicker Culture="ar-LY"/>
此外,您可以使用日期和时间字符串格式检查 .NET Framework 文化
希望这有帮助。