无法比较2个日期选择器

时间:2014-01-09 20:09:51

标签: c# wpf datepicker compare

我正在尝试清理我今年早些时候制作的一个项目,我想在2天之间进行检查(两者都是使用日期选择器选择的)

我的检查很简单,发出错误消息说最后的日期必须大于开始日期 我尝试使用SelectedDateChanged,Lost Focus,Calender Closed但没有成功。

我的代码就是这个

private void dtvencimento_LostFocus(object sender, RoutedEventArgs e)
{

   DateTime SelDate = dtinicio.SelectedDate.Value;
   DateTime SelDate2 = dtvencimento.SelectedDate.Value;
   //int result = DateTime.Compare(SelDate, SelDate2);

   if (SelDate > SelDate2)//if (result <= 0)
   {
      MessageBox.Show("Data do Vencimento tem de ser maior que data inicial", "Erro", MessageBoxButton.OK, MessageBoxImage.Error);
   }
   //else
   //{
   //    dtvencimento.Style = null;
   //}

}

dtvencimento或SelDate2是该年度晚于dtinicio或Seldate的日期

示例:当{dinicio(SelDate)是2014年3月8日且dtvencimento或Seldate2是2014年2月10日时,MessageBox.Show(blablabla)应该出现

事情是事件甚至没有开始发生。

1 个答案:

答案 0 :(得分:1)

您是否尝试过像这样处理SelectedDateChanged事件?:

<DatePicker SelectedDateChanged="DatePicker_SelectedDateChanged" />

...

private void DatePicker_SelectedDateChanged(object sender, SelectionChangedEventArgs e)
{
    DateTime SelDate = (DateTime)e.AddedItems[0];
    DateTime SelDate2 = dtvencimento.SelectedDate.Value;
    if (SelDate > SelDate2) // put a break point here and check value of SelDate2 
    {
        MessageBox.Show("Data do Vencimento tem de ser maior que data inicial", "Erro", MessageBoxButton.OK, MessageBoxImage.Error);
    }
}