DataGrid中的Silverlight DatePicker允许NULL日期

时间:2009-11-20 20:26:03

标签: silverlight datepicker

我有一个DataGrid,其列之一是DatePicker(用于编辑模板)。有没有办法保持这个但仍允许用户输入NULL日期?

2 个答案:

答案 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}}"