2013-03-07 3 views
0

Моя проблема в том, что у меня есть список. Когда я долгое время нажимаю на определенный элемент в списке, он открывает контекстное меню, и когда я нажимаю элемент меню внутри контекстного меню, он открывает всплывающее окно, поэтому при нажатии кнопки возврата оборудования я хочу, чтобы я снова вернулся к списку , так для этого мой код:back button handling wp7

protected override void OnBackKeyPress(object sender,System.ComponentModel.CancelEventArgs e) 
    { 
     if (calendarDescripton.Visibility == Visibility.Visible) 
     { 
      calendarDescripton.Visibility = Visibility.Collapsed; 
      e.Cancel = true; 
     } 

    } 

После использования этого кода при нажатии на кнопку, которая открывает список, приложение завершает работу, он не открывает список также.

ответ

0

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

protected override void OnBackKeyPress(object sender,System.ComponentModel.CancelEventArgs e) 
{ 
    if (calendarDescripton.Visibility == Visibility.Visible) 
    { 
     e.Cancel = true; 
     calendarDescripton.Visibility = Visibility.Collapsed; 
    } 
} 

Если это не помогает, поместите Пайонт перерыв в состоянии, если и проверить, если он входит внутрь, если или нет

Если точка останова не попал, значит, что-то не так с вашим навигационным подходом.

Если вы используете метод NavigationService.Navigate() для навигации по страницам, он должен работать. В противном случае, если вы используете, App.Current.RootVisual = new MyPage();, тогда BackKey нельзя переопределить.

+0

no его не работает n по отладочной точке также nt wrking при методе onbackkeyopress – sonia

+0

Вы проверили мой обновленный ответ? – nkchandra