DataTime在DateTime字段中的最小日期

时间:2013-08-29 19:53:46

标签: wpf datagrid

我在datagrid的单元格中有一个datepicker,我想将日期设置为某个默认日期,这样当我在datagrid中创建一个新行时,它不会创建datetime2日期为“1/1/0001” 。这是我的数据网格模板。

   <DataGridTemplateColumn Header="Date Filled">
                    <DataGridTemplateColumn.CellTemplate>
                        <DataTemplate>
                            <TextBlock Text="{Binding Path=DateFilled,Mode=TwoWay}" />
                        </DataTemplate>
                    </DataGridTemplateColumn.CellTemplate>
                    <DataGridTemplateColumn.CellEditingTemplate>
                        <DataTemplate>
                            <DatePicker SelectedDate="{Binding Path=DateFilled,Mode=TwoWay}" />
                        </DataTemplate>
                    </DataGridTemplateColumn.CellEditingTemplate>
     </DataGridTemplateColumn>

我该怎么做呢?感谢。

1 个答案:

答案 0 :(得分:0)

我认为最好的方法是在视图模型中指定默认值。例如:

public DateTime DateFilled
{
    get { return _dateFilled; }
    set 
    { 
        _dateFilled = value;  
        RaisePropertyChanged("DateFilled");
    }
}
private DateTime _dateFilled = DateTime.Today;

或者,您可以使视图模型属性为可空DateTime?。这样,您就可以使用绑定的TargetNullValueSelectedDate="{Binding Path=DateFilled,Mode=TwoWay,TargetNullValue={x:Static DateTime.Now}}"