2013-08-29 86 views
1

我在我的datagrid的单元格中有一个datepicker,我想将日期设置为某个默认日期,以便当我在我的数据网格中创建一个新行时,它不创建datetime2日期“ 1/1/0001" 。这是我的数据网格模板。Datagrid DateTime字段中的最小日期

<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> 

我该如何去做这件事?谢谢。

回答

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

+0

我试图应用{x:Static}时出现此错误:DateTime在Windows Presentation Foundation(WPF)项目中不受支持。你需要在乞讨中添加sys:namespace ...另外 - 它不适用于我的空字段..... – Dani

相关问题