2013-04-13 116 views
1

我已经创建了患者表格,用户可能会或可能不会输入患者的出生日期。 我用它的控件是Date Picker,并将它绑定到PatientDateOfBirth ,但是当我尝试访问PatientDateOfBirth.HasValue时,它给了我null。如何声明一个类型为“Date?”的变量不是“DateTime?”

物业

public DateTime? PatientDateOfBirth 
    { 
     get 
     { 
      if (_patientDateOfBirth.HasValue) 
       return _patientDateOfBirth.Value; 
      else 
       return null; 
     } 
     set 
     { 
      _patientDateOfBirth = value; 
      OnPropertyChanged("PatientDateOfBirth"); 
     } 
    } 

XAML

<DatePicker x:Name="dPPatDOB" Text="{Binding Path=Model.PatientDateOfBirth, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}" Height="25" Grid.Column="1" Grid.Row="3" Margin="12,11,98,29"/> 

回答

3

没有Date类型,你必须使用DateTime而忽略了时间

PatientDateOfBirth属性返回null,因为你正在使用Text物业

<DatePicker x:Name="dPPatDOB" SelectedDate="{Binding Path=Model.PatientDateOfBirth, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}" Height="25" Grid.Column="1" Grid.Row="3" Margin="12,11,98,29"/> 

注意:使用SelectedDate属性不是Text

相关问题