Wpf 允许用户从日期选择器清除日期

Wpf 允许用户从日期选择器清除日期,wpf,datepicker,datagridtemplatecolumn,Wpf,Datepicker,Datagridtemplatecolumn,我有一个DataGridTemplateColumn(通过编程创建),其中包含CellTemplate的TextBlock和CellEditingTemplate的DatePicker DatePicker的值绑定到DateTime 如果单元格有加载网格的日期,尝试清除该日期会导致验证问题——空值不会发送到绑定属性。 DatePicker上是否有允许空值的设置(我找不到空值)? 是否需要转换器来处理可为null的绑定属性 感谢您的帮助--我遇到了同样的问题,但它带有一个用于输入产品数量的文本框。

我有一个DataGridTemplateColumn(通过编程创建),其中包含CellTemplate的TextBlock和CellEditingTemplate的DatePicker

DatePicker的值绑定到DateTime

如果单元格有加载网格的日期,尝试清除该日期会导致验证问题——空值不会发送到绑定属性。 DatePicker上是否有允许空值的设置(我找不到空值)?
是否需要转换器来处理可为null的绑定属性


感谢您的帮助--

我遇到了同样的问题,但它带有一个用于输入产品数量的文本框。它有一个整数作为绑定属性。过去,它在输入一定数量的数据后,会正确操作。但当文本框在输入某个值后变为空时,则该属性将先前输入的值作为其当前值

我通过将字符串类型属性作为绑定属性来解决这个问题

你也可以这样做。使用日期选择器绑定字符串类型属性。由于使用日期选择器拾取日期,因此您始终可以确定日期格式。您还可以将DatePickerTextBox设置为应用程序内的只读样式,不允许用户通过键入来输入任何日期

通过这种方式,当您清除日期选择器时,底层绑定属性将包含null或空字符串,我认为这就是您想要的

您可以在中使用该字符串属性


DateTime.Parse
方法以获得等效的DateTime对象。尝试解析Try catch块中的日期,以处理空/空字符串大小写。

我遇到了相同的问题,但它与用于输入产品数量的文本框有关。它有一个整数作为绑定属性。过去,它在输入一定数量的数据后,会正确操作。但当文本框在输入某个值后变为空时,则该属性将先前输入的值作为其当前值

我通过将字符串类型属性作为绑定属性来解决这个问题

你也可以这样做。使用日期选择器绑定字符串类型属性。由于使用日期选择器拾取日期,因此您始终可以确定日期格式。您还可以将DatePickerTextBox设置为应用程序内的只读样式,不允许用户通过键入来输入任何日期

通过这种方式,当您清除日期选择器时,底层绑定属性将包含null或空字符串,我认为这就是您想要的

您可以在中使用该字符串属性


DateTime.Parse
方法以获得等效的DateTime对象。尝试分析Try catch块中的日期,以处理空/空字符串大小写。

感谢您的回复。深入研究代码,我发现其中涉及到一个转换器。我修复了ConvertBack()中的问题:返回
null
而不是
string.Empty
。太好了。很高兴知道你能自己解决这个问题。您没有提到代码中已经有转换器设置。谢谢您的回复。深入研究代码,我发现其中涉及到一个转换器。我修复了ConvertBack()中的问题:返回
null
而不是
string.Empty
。太好了。很高兴知道你能自己解决这个问题。您没有提到代码中已经有转换器设置。