我的DatePickerTextBox
绑定到DateTime?
类型的属性(允许空值)
如果DatePickerTextBox
为空,我想将此属性设置为null。
我目前的做法:
private void TextChanged_Handler(object sender, TextChangedEventArgs e)
{
var dateTimePickerTextBox = (DatePickerTextBox)sender;
if (dateTimePickerTextBox.Text == string.Empty)
this.MyBindingObj.MyDate = null;
}
这样做有效,但它的缺点是DatePickerTextBox
UI被标记为红色(错误),因为文本和DateTime
之间的绑定不成功。虽然在幕后一切正常。
我想知道是否有更清洁的方法来做到这一点。
答案 0 :(得分:0)
我找到了一种解决方法,只需将dateTimePickerTextBox.Text = null;
添加到上一个代码中:
private void TextChanged_Handler(object sender, TextChangedEventArgs e)
{
var dateTimePickerTextBox = (DatePickerTextBox)sender;
if (dateTimePickerTextBox.Text == string.Empty)
{
this.MyBindingObj.MyDate = null;
// Added this to avoid validation error:
dateTimePickerTextBox.Text = null;
}
}