WPF RadDatePicker输入日期顺序

时间:2017-01-04 20:54:05

标签: c# wpf telerik datetime-format telerik-raddatepicker

我有多个RadDatePicker的表单,每件事都运行正常但是当我想输入日期时我希望最终用户以格式dd / mm / yyyy输入日期 但该工具仅接受格式为mm / dd / yyyy order !!的日期。

示例:2016年12月13日 如果用户输入13,则按空格键,然后键入12,然后按空格键2016,然后按Enter键给出错误

enter image description here

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

提前致谢。

2 个答案:

答案 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

希望得到这个帮助。