我创建了患者表格,其中用户可能会或可能不会输入患者的出生日期。 我用它的控件是日期选择器并将其绑定到PatientDateOfBirth 但是当我尝试访问PatientDateOfBirth.HasValue时,它会给我null。
财产
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"/>
答案 0 :(得分: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