Обработка OnSelectedIndexChanged перед SelectionChangeCommitted? - PullRequest
1 голос
/ 07 ноября 2011

Я работаю над асинхронным элементом управления привязкой, который наследует ComboBox (и Textbox в других сценариях, но на самом деле это не актуально ...).Я заменил кучу существующих ComboBox на формах в этом приложении, которые для большинства этих элементов управления работали отлично.За исключением одного ...

Моя коробка переопределяет метод OnSelectedIndexChanged следующим кодом:

protected override void OnSelectedIndexChanged(EventArgs e)
{
  if (!Helper.ItemsApplied)
    return; //don't worry! the index will be selected when the items are applied!

  _selectedValue = Helper.GetValue(Text);
  base.OnSelectedIndexChanged(e);
}

Это работает нормально, пока кто-то не попытается обработать изменение значения с помощью * 1007Событие * SelectionChangeCommitted .Хотя в пределах разумного;Я не должен изменять их код для использования SelectedIndexChanged, потому что эта функция не должна выполняться, когда значение вызывается программно (см. Статья MSDN ).

Однако мойфункциональность выполняет , которая должна выполняться при программном изменении индекса, но должна выполняться до события SelectionChangeCommitted!Событие SelectionChangeCommitted запускается до события SelectedIndexChanged.

Есть какие-нибудь идеи о том, как я могу обойти это?Желательно только путем изменения кода в моем контроле, а не в их виде?

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