2013-07-09 40 views
2

我有一個DataGrid綁定到一個集合,其中一個列類型是DateTime。在DataGrid列中設置DatePicker的默認值

我的XAML代碼是:

<DataGridTemplateColumn Width="260" Header="OrderDate"> 
    <DataGridTemplateColumn.CellTemplate> 
     <DataTemplate> 
      <DatePicker SelectedDate="{Binding OrderDate, 
             Mode=TwoWay, 
             UpdateSourceTrigger=PropertyChanged}" /> 
     </DataTemplate> 
    </DataGridTemplateColumn.CellTemplate> 
</DataGridTemplateColumn> 

問題是DatePicker的默認值是1/1/0001。

我該如何設置默認值?

回答

2

問題是這樣解決的(抱歉,如果問題不明確):

類聲明:

public DateTime OrderDate { get; set; } 

將其更改爲:

public DateTime? OrderDate { get; set; } 

它看起來就像是取日期時間dfault值和解決方案是增加空來代替。

0

您可以添加一個屬性是這樣的:

public class SomeClass 
{ 
    // Default value 
    private DateTime myDateTime = new DateTime(2010, 1, 18); 

    public string Sample 
    { 
     get; 
     set; 
    } 

    public DateTime OrderDate 
    { 
     get 
     { 
      return myDateTime; 
     } 

     set 
     { 
      myDateTime = value; 
     } 
    } 
} 

添加數據,例如後 - 在ObservableCollection

SomeCollection.Add(new SomeClass() 
{    
    Sample = "Sample1", 
    OrderDate = DateTime.Now, // Forcibly set date 
});  

此參數的跳躍被添加到默認值:

SomeCollection.Add(new Person() 
{    
    Sample = "Sample1", 
    // Skipping date, set the default value "2010, 1, 18" 
});