由于某种原因,此事件会触发两次。例如,我在按钮单击上遇到的其他事件仅触发一次,但是由于某种原因,日期选择器上的日期更改连续触发两次。

有任何想法吗?



public event EventHandler<CalendarEventArgs> DateTimeStartChanged;
private void dateTimeStart_SelectedDateChanged(object sender, SelectionChangedEventArgs e)
{
    if (!_loading)
    {
        e.Handled = true;

        if (DateTimeStartChanged != null)
            if (dateTimeStart.SelectedDate != null && dateTimeEnd.SelectedDate != null)
            {
                StartDate = (DateTime) dateTimeStart.SelectedDate;
                DateTimeStartChanged(this,
                                        new CalendarEventArgs((DateTime) dateTimeStart.SelectedDate,
                                                              (DateTime) dateTimeEnd.SelectedDate));
            }



    }
}

最佳答案

多么令人沮丧的问题。我针对此问题的解决方法如下。到目前为止已经工作了。希望这对某人有帮助。

private DateTime? currentDateTime = null;

private void dpDate_SelectedDateChanged(object sender, SelectionChangedEventArgs e)
{
     if(currentDateTime != dpDate.SelectedDate)
        SaveData();
     currentDateTime = dpDate.SelectedDate;
}

10-06 14:59