Кнопка возврата Windows Phone

1

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

Я могу найти точную страницу, если я знаю, что это за страница,

private void button_click(object sender, RoutedEventArgs e)
{
    Frame.Navigate(typeof(Page1));
}

Также я могу вернуться на предыдущую страницу

if(this.Frame.CanGoBack)
{
    Frame.GoBack();
}

Но как я могу перейти на страницу до предыдущей страницы сразу?

Любая запись истории страниц?

  • 0
    windows-mobile не является правильным тегом, если вы имели в виду windows phone 8.1 , в этом случае, пожалуйста, исправьте его с тегом windows-phone-8.1 .
  • 0
    @kennyzx спасибо, сделаю
Показать ещё 4 комментария
Теги:
windows-phone-8

3 ответа

1
Лучший ответ

Спасибо @CoderDennis, я понял это. надеюсь, что это поможет кому-то другому. Я хотел вернуться на главную страницу, если бы я пришел по главной странице,

foreach (PageStackEntry stack in Frame.BackStack)
{
 //check if stack contains history of the main page. (Solution name: Helloworld)
 if (stack.SourcePageType == typeof(HelloWorld.MainPage))
   {
    Frame.Navigate(stack.SourcePageType);
    break;
   }
}
1

Вы можете получить все страницы из BackStack в виде списка:

var lstAllStackPages = this.Frame.BackStack.ToList();

и создайте цикл for, чтобы получить вашу конкретную страницу и перейти к ней.

1

Вы можете использовать NavigationServices.BackStack для доступа к истории предыдущих страниц.

Но у вас нет специального метода для возврата с двух страниц одновременно. Однако, если вы перейдете на страницу перед предыдущей страницей, вы должны просто вызвать NavigationServices.GoBack() два раза.

Более того, если вы вернетесь на определенную страницу, вы можете узнать ее индекс между backstack и создать цикл с помощью метода GoBack.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню