出于某种原因,此事件会引发两次。例如,我在按钮点击上发生的其他事件仅触发一次,但是日期选择器上的日期更改是因为有什么原因连续触发两次。
有什么想法吗?
代码
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));
}
}
}
答案 0 :(得分:1)
多么令人沮丧的问题。我对此问题的解决方法如下。到目前为止工作。希望这有助于某人。
private DateTime? currentDateTime = null;
private void dpDate_SelectedDateChanged(object sender, SelectionChangedEventArgs e)
{
if(currentDateTime != dpDate.SelectedDate)
SaveData();
currentDateTime = dpDate.SelectedDate;
}
答案 1 :(得分:0)
这是DatePicker控件的错误,而不是您的问题。不幸的是,除了应用一个解决方法,例如设置一个标志以便它只在第一次执行时,你无能为力。