2015-06-25 3 views
1

Я разрабатываю приложение Windows Phone 8.1 Silverlight. В моем приложении мне нужно переопределить код кнопки «Назад».Назад кнопка управления моим Windows Phone 8.1 Приложение Silverlight

Так что я попытался это,

protected override void OnBackKeyPress(CancelEventArgs e) 
    { 
     //Navigating to this page when back button is pressed 
     DisplayPage mynewPage = new DisplayPage(); 
     this.Content = mynewPage; 

     e.Cancel = true; 
    } 

Но этот код не работает. Что я делаю не так? Пожалуйста, помогите мне.

EDIT:

Когда я помещаю этот код на MainPage, это работает! Но я не хочу размещать его там. Я хочу разместить его на других страницах.

ответ

2

Удалить «e.Cancel = true» (он отменяет навигацию). Просто перейдите на новую страницу.

EDIT:

Для навигации на другую страницу, я предпочел бы предложить использовать NavigationService. Посмотрите примеры this page.

EDIT:

Фрагмент кода:

protected override void OnBackKeyPress(CancelEventArgs e) 
    { 
     //Navigating to this page when back button is pressed 
     NavigationService.Navigate(new Uri("/DisplayPage.xaml", UriKind.Relative)); 

    } 
+0

Не работает :(бро –

+0

@ShahriarSirajSnigdho Пробовали ли вы это так защищен переопределения недействительным OnBackKeyPress (CancelEventArgs е) {NavigationService.Navigate (новый Uri («/ DisplayPage.xaml», UriKind.Relative));} Это всегда сработало для меня. – hildegard

+0

Нет! Не работает! Всякий раз, когда я нажимаю кнопку «Назад», приложение закрывается. Я думаю, что метод отмены кнопки возврата как-то не правильный –

Смежные вопросы