我有多个RadDatePicker的表单,每件事都运行正常但是当我想输入日期时我希望最终用户以格式dd / mm / yyyy输入日期 但该工具仅接受格式为mm / dd / yyyy order !!的日期。
示例:2016年12月13日 如果用户输入13,则按空格键,然后键入12,然后按空格键2016,然后按Enter键给出错误
如何更改输入日期的格式?
提前致谢。
答案 0 :(得分:1)
在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;
}
}
答案 1 :(得分:0)
最后,我通过改变来自" en-US"的文化解决了这个问题。到" ar-LY"
<telerik:RadDatePicker Culture="ar-LY"/>
另外,您可以查看.NET Framework Cultures with Date and Time String Formats
希望得到这个帮助。