2014-10-09 3 views
0

Моя проблема заключается в том, что я хочу знать, когда пользователь перешел на страницу и при навигации. Поэтому я могу выполнять некоторые конкретные задачи, такие как: subscribing and unsubscribing to events.Состояние страницы в Windows Runtime

Раньше было очевидно, и мы могли бы переопределить OnNavigatedTo и OnNavigatingFrom методов. Но в Windows Phone Runtime нет гарантии, что эти методы возникают, когда пользователь переключается между приложениями, например.

В Windows Runtime, как узнать, когда пользователь открывает страницу и когда уходит (на другую страницу, запуск экрана или другое приложение)?

ответ

0

При переходе на другую страницу - это просто, вы обрабатываете NavigatingFrom/NavigatedTo. Когда нет - это также просто - вы не должны получать эти события, и поэтому в большинстве случаев вам нечего делать. Я видел, что NavigatingFrom был поднят, хотя в определенных обстоятельствах, когда приложение приостанавливалось, и состояние навигации считывалось с Frame, даже если техническая навигация в приложении не происходила и не было никакого события NavigatedTo в резюме. Вы можете отфильтровать это, установив и очистив некоторый флаг в событии Suspending (или Application.OnSuspending) до и после NavigatingFrom, а затем проигнорируйте его на странице NavigatingFrom обработчик для определенного кода. Вероятно, вы все равно хотите сохранить состояние страницы в этом событии, но не отказаться от подписки на другие события, если приложение возобновится до его завершения.

Application.Suspending/Resuming - это некоторые события, которые могут вас заинтересовать, чтобы сохранить/загрузить общее состояние приложения или обновить данные, хотя, возможно, и меньше для подписки/отмены подписки на события, так как большинство из них должно быть в порядке, если оставить приложение приостановлено которое происходит при переключении в другое приложение.

Page.Loaded/Unloaded события - это те, которые вы бы обработали, если хотите прикоснуться к частям пользовательского интерфейса, которые необходимо фактически загрузить в визуальное дерево, поскольку NavigatedTo происходит до загрузки страницы.

+0

Спасибо Filip за подробности – user4126589

Смежные вопросы