【问题标题】:Styled WPF DatePicker loses format on focus loss, regains on programmatic update样式化的 WPF DatePicker 在焦点丢失时丢失格式,在程序更新时重新获得
【发布时间】:2012-12-17 18:47:37
【问题描述】:

我对 WPF DatePicker 有点奇怪,我在一个可从 here. 下载的项目中演示了它

我需要一个样式看起来像普通文本的日期选择器,没有按钮或轮廓,当按下单独的按钮时弹出日历,让用户编辑文本,并以我们想要的格式显示日期 - dd MMM yyyy。

我几乎可以使用,但是当失去焦点时,日期格式会恢复 dd/mm/yyyy 或 mm/dd/yyyy,每次焦点丢失时交替(即单击日期并在不编辑的情况下跳出),直到接下来,控件将完全独立于代码进行更新,按下“重写”即可。

谁能解释发生了什么以及如何解决它?

【问题讨论】:

    标签: wpf wpf-controls


    【解决方案1】:

    DatePicker 控件处理DatePickerTextBoxLostFocus 事件,将文本解析为DateTime,使用当前区域性的长日期格式或短日期格式格式化解析的DateTime,然后更新文本。这将覆盖 text 属性上的绑定,因此不会使用您的自定义格式。

    少写自己的DatePicker控件,看来唯一的解决办法是更改CurrentCulture上的短日期模式:https://stackoverflow.com/a/3869415/124386

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-15
      • 1970-01-01
      • 1970-01-01
      • 2023-03-13
      • 2011-07-23
      • 1970-01-01
      相关资源
      最近更新 更多