Программно вернуться с первой страницы вашего приложения - PullRequest
1 голос
/ 12 марта 2011

У меня есть страница входа, которая отображается при первом запуске. После того, как пользователь вводит свои учетные данные, он попадает на главную страницу приложения. На этом этапе, если пользователь нажимает клавишу возврата, я хочу, чтобы он пропустил страницу входа и вышел. Я попробовал то, что было предложено здесь: Удалить страницу из стека навигации (в OnNavigatedTo используйте NavigationService.GoBack ()), но он выдает исключение, потому что в заднем стеке больше ничего нет. Я читал некоторые другие места, в которых не обрабатывается исключение, по сути, единственный способ закрыть приложение ...

Проблема с этим методом закрытия приложения заключается в том, что, кроме того, что оно взломано, оно не затрагивает Application_Closing (), поэтому мое состояние не сохраняется.

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

Заранее спасибо!

Ответы [ 3 ]

4 голосов
/ 12 марта 2011

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

Самый простой способ сделать это прозрачным для ваших пользователей и легким для вас - это сделать первую страницу входа, на которую вы ссылаетесь, как пользовательский элемент управления, расположенную поверх вашей фактической главной страницы (т.е. не используйте phone:PhoneApplicationPage для вашей страницы входа - просто элемент управления, который является частью вашей главной страницы phone:PhoneApplicationPage). Используйте логическое значение в вашем OnNavigatedTo на главной странице, которое гласит: «Если пользователь не вошел в систему, отобразите контроль входа, в противном случае просто покажите главную страницу».

При сохранении состояния (т. Е. Надгробия) задайте другой вопрос, так как это другая тема.

1 голос
/ 12 марта 2011

Общая рекомендация - не использовать страницу для чего-либо, что вам не нужно в стеке навигации.

В моем случае я решил использовать всплывающее окно для размещения моего элемента управления входом в систему.Я выскакиваю его со своей главной страницы, если они не вошли в систему. Если они есть, я не показываю это.Таким образом, если они не вошли в систему и не нанесли ответный удар, они выходят из приложения.Однако, если они вошли в систему, а также на главной странице, они увидят свои данные, а если они получат ответный удар, они также выйдут из приложения (не увидят страницу входа).

0 голосов
/ 12 марта 2011

Для сценария входа / домашней страницы одну вещь, которую вы можете сделать, это успешный вход в систему, а не переход на домашнюю страницу, которую вы называете «GoBack», это вернет их обратно на домашнюю страницу, но вытолкнет страницу входа из навигациистек и позволить пользователю выйти из приложения при следующем нажатии кнопки «назад».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...