我有一个DataGridTemplateColumn(以编程方式创建),其中包含CellTemplate的TextBlock和CellEditingTemplate的DatePicker。
DatePicker的值绑定到DateTime?。
如果单元格在加载网格时有一个日期,则尝试清除日期会导致验证问题 - 空值不会发送到绑定属性。 DatePicker上是否有设置允许空值(我找不到)? 是否需要使用可转换绑定属性的转换器?
感谢您的任何见解 -
答案 0 :(得分:0)
我遇到了同样的问题,但它是用文本框输入产品的数量。它有一个整数作为绑定属性。它曾经正确地执行了一些quanity输入。但是当输入某个值后文本框变空时,该属性将之前输入的值作为其当前值。
我通过将字符串类型属性设置为binded属性来解决此问题。
你也可以这样做。使用 DatePicker 绑定字符串类型属性。使用 DatePicker 选择日期时,您始终可以确定日期格式。此外,您可以在应用程序样式中将 DatePickerTextBox 设置为只读,以免用户通过键入输入任何日期。
以这种方式清除 DatePicker 时,底层绑定属性将包含null或空字符串,我认为这就是你想要的。
您可以在
中使用该字符串属性 DateTime.Parse
获取等效 DateTime 对象的方法。尝试解析try catch块中的日期以处理空/空字符串大小写。