【问题标题】:WPF RadDatePicker Enter Date OrderWPF RadDatePicker 输入日期顺序
【发布时间】:2017-01-04 20:54:04
【问题描述】:

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

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

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

提前致谢。

【问题讨论】:

  • 如果您想要/需要特定格式,并且所选工具不支持该格式,请选择其他工具。或者编写自己的工具。
  • @Kevin 我在问我是否可以使用这个工具做我想做的事!

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


【解决方案1】:

尝试在DateTimeFormatInfo 中设置ShortDatePattern

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;
    }
}

【讨论】:

  • 感谢您的回答,我使用了文化,但它在输入日期后用于显示日期,我想在用户输入日期时应用此格式
  • @AbdulsalamElsharif 再次检查我的答案 :)
  • 我关注你的链接,你能帮我如何使用 ParseDateTimeValue 来完成想要的事情:)
  • @AbdulsalamElsharif 检查我的答案。我添加了示例。
  • 我测试了这个例子,但是输入日期也报错
【解决方案2】:

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

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

另外,您可以查看.NET Framework Cultures with Date and Time String Formats

希望对您有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多