WP7 ListPicker на всплывающем окне вызывает проблемы с кнопкой Назад - PullRequest
0 голосов
/ 03 марта 2011

Я использую WP7 Tookit ListPicker (выпуск в феврале) на всплывающем элементе управления.Я нажал кнопку Назад, чтобы закрыть всплывающее окно.

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

OneЯ подумал о том, как справиться с этим, чтобы проверить и посмотреть, есть ли у меня открытые всплывающие списки ListPickers, и если это так, закройте и отмените навигацию (элементы управления в моем всплывающем окне добавляются динамически, поэтому я должен перечислить через дочерние элементы управления всплывающими окнами).проверить), но я не могу найти способ узнать, открыт ли ListPicker или закрывает его.

Так что мой вопрос: а) есть ли способ обработки этого в обработчике кнопки назад, и если нет, то b) как проверить, открыт ли ListPicker.

1 Ответ

1 голос
/ 03 марта 2011

В обратном вызове BackKeyPress вашего всплывающего элемента управления добавьте следующую проверку:

if( myListPicker.ListPickerMode == ListPickerMode.Normal ) {
  // Close popup

  // Cancel navigation
  e.Cancel = true;
}

Когда ListPickerMode равно Expanded или Full, ListPicker отлавливает событие нажатия клавиши "Назад" и закрывается.

EDIT:

Согласно комментарию @ SteveChadbourne сработало следующее:

if( myListPicker.ListPickerMode != ListPickerMode.Normal ) {
  // Close the ListPicker
  myListPicker.ListPickerMode = ListPickerMode.Normal;

  // Cancel navigation
  e.Cancel = true;

}
...