我有一个DataGrid,其列之一是DatePicker
(用于编辑模板)。有没有办法保持这个但仍允许用户输入NULL日期?
答案 0 :(得分:5)
执行以下操作(在Silverlight 4中):
1)DataContext的绑定属性必须是Nullable(或Datetime?)
2)在XAML中设置TargetNullValue =''的绑定属性,如:
Text="{Binding DocumentDate, Mode=TwoWay, StringFormat='yyyy-MM-dd', TargetNullValue=''}"
答案 1 :(得分:0)
在研究同样的问题时发现了这一点。这是我修复它的方式,因为它没有被标记。
我使用了转换器,如果它只是一个空数据时对象,它会将值转换为null
。
public class DateTimeToNullConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
DateTime dt = new DateTime();
if (dt.Equals(value)) return null;
return value;
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
return value;
}
}
XAML:
SelectedValue="{Binding CurrentContractRenewal.ExpiryDate, Mode=TwoWay, Converter={StaticResource DateTimeToNullConverter}}"