УВЕДОМЛЕНИЕ. Была некоторая путаница, поэтому позвольте мне пояснить, что я спрашиваю, как добиться чего-то в Windows Phone 7, сравнив его с аналогичной функциональностью в Android.
Вопрос:
Изучая навигацию между страницами в Windows Phone 7, я реализовал двустороннюю навигацию между двумя страницами A и B, поэтому вы можете перемещаться со страниц A на B и B на A.
Для иллюстративных целей, допустим, я перемещаюсь следующим образом: A-> B → A-> B
Когда вы возвращаетесь из приложения, я буду вынужден через каждую из страниц снова, где в идеале я хочу только один раз пропустить A и/или B один раз, а затем выйти из приложения.
В Android вы можете достичь этого, установив атрибут noHistory в значение true для активности, но как насчет WP7?
ОБНОВЛЕНИЕ: Использование RemoveBackEntry, как предложено клавиатуройP, я достиг того, что искал. Для всех, кого это интересует, это код, который я использовал:
private void button1_Click(object sender, RoutedEventArgs e)
{
NavigationService.Navigate(new Uri("/FirstPage.xaml", UriKind.Relative));
NavigationService.RemoveBackEntry();
}
В 7.0 не существует метода, который удаляет любые страницы из стека навигации. Однако есть рецепт, который вы можете скачать, который поможет справиться с circular navigation
. Вы можете загрузить здесь Нелинейную навигационную службу, и она основана на этой статье.
Я не знаю, совместим ли этот рецепт с 7.1 (Mango), но есть новый метод, введенный в Mango в NavigationService под названием RemoveBackEntry. Вы можете выполнить некоторые вычисления, чтобы выяснить, сколько раз удалять последнюю запись, чтобы пользователь попадал на первую страницу, когда они нажимают кнопку " back button
.