1

我的数据网格的单元格中有一个日期选择器,我想将日期设置为某个默认日期,这样当我在我的数据网格中创建一个新行时,它不会创建一个 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>

我该怎么做呢?谢谢。

4

1 回答 1

0

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

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

或者,您可以将 view-model 属性设为 nullable DateTime?。这样,您可以使用绑定的TargetNullValueSelectedDate="{Binding Path=DateFilled,Mode=TwoWay,TargetNullValue={x:Static DateTime.Now}}"

于 2013-08-29T20:10:42.743 回答