Новый экземпляр страницы о навигации - PullRequest
2 голосов
/ 11 апреля 2011

У меня есть несколько страниц в приложении, для которых требуется синхронизация вызовов A-Synchronous в течение 2-3 минут, пользователь может перейти с этой страницы во время синхронизации и может вернуться снова после посещения нескольких страниц и синхронизация продолжается все время, пока он находится на других страницах, когда я захожу на страницу со страницы синхронизации и нажимаю кнопку «Назад», все работает нормально, но когда я перехожу на страницу и возвращаюсь к странице синхронизации из приложения Панель создает новый Экземпляр Страницы, и Синхронизация аналогична Перезапуску.

Теперь я знаю, что все работает нормально, поскольку при вызове NavigationService.Navigate () создается новый экземпляр страницы, но что мне делать в этом сценарии? Как получить старый экземпляр страницы, если он там есть?

Спасибо ...

1 Ответ

0 голосов
/ 11 апреля 2011

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

Если вы пытаетесь обеспечить обратную навигацию по панели приложений, то а) вам, вероятно, не следует этого делать, потому что для этого предназначена кнопка «Назад», и б) вам следует убедиться, что вы используете NavigationService.GoBack() вместо NavigationService.Navigate(), поскольку Навигация всегда будет запускать новый экземпляр вашей страницы.

Если страница, на которую вы хотите попасть, не является предыдущей, то, похоже, вы пытаетесь реализовать нелинейную навигацию, для которой есть рецепт в App Hub .

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

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