0

我有多个 RadDatePicker 的表单,一切正常,但是当我想输入日期时,我希望最终用户以 dd/mm/yyyy 格式输入日期,但该工具只接受 mm/dd/yyyy 格式的日期!

示例:13/12/2016 如果用户输入 13 然后按空格键然后输入 12 然后按空格键 2016 然后按回车它给出错误

在此处输入图像描述

如何更改输入日期的格式?

提前致谢。

4

2 回答 2

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;
    }
}
于 2017-01-04T21:09:43.257 回答
0

最后,我通过将文化从“en-US”更改为“ar-LY”解决了这个问题

<telerik:RadDatePicker Culture="ar-LY"/>

此外,您可以使用日期和时间字符串格式检查 .NET Framework 文化

希望这有帮助。

于 2017-01-05T09:10:32.457 回答