• <menu id="w2i4a"></menu>
  • logo DevExpress WPF使用技巧教程

    文檔首頁>>DevExpress WPF使用技巧教程>>DevExpress WPF使用技巧教程:如何實(shí)現(xiàn)自定義DateEdit并自動更正值

    DevExpress WPF使用技巧教程:如何實(shí)現(xiàn)自定義DateEdit并自動更正值


    下載DevExpress v20.1完整版 DevExpress v20.1漢化資源獲取

    通過DevExpress WPF Controls,您能創(chuàng)建有著強(qiáng)大互動功能的XAML基礎(chǔ)應(yīng)用程序,這些應(yīng)用程序?qū)W⒂诋?dāng)代客戶的需求和構(gòu)建未來新一代支持觸摸的解決方案。

    遇到的問題

    使用DateEdit控件時,該控件由于掩碼"autocorrects"用戶輸入的值,因此如果用戶輸入2020-04-31,他將獲得2020-04-01。這種情況下,用戶可能會以外輸入不正確的日期,并且沒有任何警告可通知給用戶,他將繼續(xù)執(zhí)行不正確的日期。最好讓用戶輸入無效日期并在編輯器上顯示驗(yàn)證錯誤,編輯器應(yīng)保持其格式,光標(biāo)應(yīng)與原始DateEdit控件一樣,從日期的一部分跳到另一部分。 唯一的不同是能夠輸入與格式相對應(yīng)的無效日期并獲得驗(yàn)證錯誤,這該如何實(shí)現(xiàn)?

    解決方案:

    DateEdit是帶有DateTime類型掩碼的文本編輯器,該掩碼不允許輸入錯誤的日期,這會導(dǎo)致如上所述的行為操作。

    為了實(shí)現(xiàn)目標(biāo),可以使用掩碼創(chuàng)建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,因此綁定該值時,需要創(chuàng)建一個自定義Converter。請注意,需要將適當(dāng)?shù)娜掌诟袷絺鬟f給轉(zhuǎn)換器。 例如,可以通過ConverterParameter執(zhí)行此操作。


    DevExpress技術(shù)交流群2:775869749      歡迎一起進(jìn)群討論

    獲取第一手DevExpress控件資訊,請上DevExpress中文網(wǎng)!

    慧都高端UI界面開發(fā)
    掃碼咨詢


    添加微信 立即咨詢

    電話咨詢

    客服熱線
    023-68661681

    TOP
    三级成人熟女影院,欧美午夜成人精品视频,亚洲国产成人乱色在线观看,色中色成人论坛 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();