2015-02-17 2 views
0

Я разрабатываю приложение Windows Phone 8.1. В том, что мне нужно, чтобы перейти отBack Stack in Windows Phone 8.1

Page1 --> Page2--> Page3 

Но я не хочу Page1 снова apper, когда я держу при нажатии кнопки назад.

Page3-->Page2-->Exit the app 

я смог достичь этого, используя Frame.BackStack.Clear() в OnNavigatedFrom() из Page1. Но проблема заключается в том, что я снова нажимаю значок приложения, но только его запуск из Page2 не из Page1.

So I want to understand, why the back stack is not cleared when we press 
back button and exit the app. And how to achieve the behavior I require 

ответ

1

Windows Phone 8.1 Магазин приложений не близко, когда вы перемещаетесь назад с первой страницы. Вместо этого они получают только приостановлено. Поэтому, как только вы начинаете снова открыть его, вы в конечном итоге на последнем запущенном экземпляре снова приложение, это включает в себя backstack, состояние страницы и т.д.

В App.xaml.cs OnLaunched игровая обработчик, вы можете перехватить этот поведение. Вы можете проверить e.PreviousExecutionState, где вы можете проверить, хотите ли вы обработать его как реальный перезапуск.

В этом случае вы просто сбрасываете текущий кадр и заменяете его новым, или очищаете заднюю часть, и начинаете с новой навигации.

Также: Backstack - это список. Вы можете удалить отдельные записи в любое время и не только полностью очистить его с помощью метода RemoveAt.

0

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

Application.Current.Exit();