Событие управления пользователем WPF дважды - PullRequest
4 голосов
/ 15 февраля 2011

По какой-то причине это событие срабатывает дважды.Например, другие события, возникающие при нажатии кнопки, запускаются только один раз, но изменение даты в средстве выбора даты по какой-либо причине срабатывает дважды подряд.

Есть идеи?

Код

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));
            }



    }
}

Ответы [ 2 ]

1 голос
/ 17 января 2014

Какой неприятный вопрос.Мой обходной путь для этой проблемы был следующим.Работал до сих пор.Надеюсь, это кому-нибудь поможет.

private DateTime? currentDateTime = null;

private void dpDate_SelectedDateChanged(object sender, SelectionChangedEventArgs e)
{
     if(currentDateTime != dpDate.SelectedDate)
        SaveData();
     currentDateTime = dpDate.SelectedDate;
}
0 голосов
/ 27 января 2013

Это ошибка с элементом управления DatePicker, а не ваша проблема. К сожалению, вы ничего не можете с этим поделать, кроме применения обходного пути, такого как установка флага, чтобы он выполнялся только в первый раз.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...