DevExpress WPF使用技巧教程:如何实现自定义DateEdit并自动更正值

翻译|使用教程|编辑:龚雪|2020-08-11 09:58:39.533|阅读 137 次

概述:通过DevExpress WPF Controls,您能创建有着强大互动功能的XAML基础应用程序,本文将为您介绍如何实现自定义DateEdit并自动更正值。

# 31款JAVA开发必备控件和工具 # 开发软/控件产品年终优惠

相关链接:

下载DevExpress v20.1完整版 DevExpress v20.1汉化资源获取

通过DevExpress WPF Controls,您能创建有着强大互动功能的XAML基础应用程序,这些应用程序专注于当代客户的需求和构建未来新一代支持触摸的解决方案。

遇到的问题

使用DateEdit控件时,该控件由于掩码"autocorrects"用户输入的值,因此如果用户输入2020-04-31,他将获得2020-04-01。这种情况下,用户可能会以外输入不正确的日期,并且没有任何警告可通知给用户,他将继续执行不正确的日期。最好让用户输入无效日期并在编辑器上显示验证错误,编辑器应保持其格式,光标应与原始DateEdit控件一样,从日期的一部分跳到另一部分。 唯一的不同是能够输入与格式相对应的无效日期并获得验证错误,这该如何实现?

解决方案:

DateEdit是带有DateTime类型掩码的文本编辑器,该掩码不允许输入错误的日期,这会导致如上所述的行为操作。

为了实现目标,可以使用掩码创建PopupBaseEdit:

<dxe:PopupBaseEdit Mask="\d{4}-\d{2}-\d{2}" 
MaskType="RegEx" 
Validate="DateEdit_Validate"...>
<dxe:PopupBaseEdit.PopupContentTemplate>
...
</dxe:PopupBaseEdit.PopupContentTemplate>
</dxe:PopupBaseEdit>

若要使PopupBaseEdit看起来像DateEdit,建议使用PopupContentTemplate属性。

PopupBaseEdit弹出窗口中使用的DateEditCalendar使用DateTime类型,而PopupBaseEdit的EditValue包含一个String,因此绑定该值时,需要创建一个自定义Converter。请注意,需要将适当的日期格式传递给转换器。 例如,可以通过ConverterParameter执行此操作。


DevExpress技术交流群2:775869749      欢迎一起进群讨论

获取第一手DevExpress控件资讯,请上DevExpress中文网!

慧都高端UI界面开发

标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至hey@evget.com

文章转载自:慧都网

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
在线咨询
联系我们
TOP
在线客服系统
live chat