我在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>
我该怎么做呢?感谢。
答案 0 :(得分:0)
我认为最好的方法是在视图模型中指定默认值。例如:
public DateTime DateFilled
{
get { return _dateFilled; }
set
{
_dateFilled = value;
RaisePropertyChanged("DateFilled");
}
}
private DateTime _dateFilled = DateTime.Today;
或者,您可以使视图模型属性为可空DateTime?
。这样,您就可以使用绑定的TargetNullValue
:SelectedDate="{Binding Path=DateFilled,Mode=TwoWay,TargetNullValue={x:Static DateTime.Now}}"