关于这篇文章,我已经完成了一些问题(link1,link2),但我仍然无法回答并解决问题。
private void done_Click(object sender, EventArgs e)
{
if (datePicker != null)
Items.Over50Date = datePicker.Value;
NavigationService.GoBack();
}
datePicker是DatePicker Tool的名称。 Over50Date可能是,
public static DateTime Over50Date;
当我将datePicker.Value分配给Over50Date时,我收到错误,无法将System.DateTime类型转换为System.DateTime。我哪里做错了?
答案 0 :(得分:1)
Systme.DateTime,而System.DateTime?是指一个可以为空的DateTime对象,当然,那两个不一样。
你应该将你的日期转换为null,(可能是DatePicker)到DateTime。
<强> [增订]:强>
注意:它假设datePicker.value是System.DateTime? 如果没有,DatePicker的哪个属性是你的日期存储?
请尝试以下代码:
private void done_Click(object sender, EventArgs e)
{
if (datePicker != null)
{
if (datePicker.Value != null)
{
Items.Over50Date = Convert.ToDateTime(datePicker.Value);
}
}
NavigationService.GoBack();
}
答案 1 :(得分:1)
试试这个:
private void done_Click(object sender, EventArgs e)
{
if (datePicker != null)
Items.Over50Date = datePicker.Value != null ? datePicker.Value.Value : DateTime.Now;
NavigationService.GoBack();
}