Я не думаю, что это запрещено, однако это может привести к появлению петель навигации, которые будут раздражать пользователя, когда он / она пытается выйти из вашего приложения с помощью кнопки «Назад».
Например, представьте себе приложение с 3 страницами, A, B и C. Скажем, страница C содержит кнопку «домой», чтобы вернуться на страницу A напрямую. Таким образом, ваш стек навигации может выглядеть так:
A -> B -> C -> A -> B -> C -> A ....
Для этого требуется много нажатий кнопки «Назад», чтобы вернуть пользователя на стартовую страницу и выйти из приложения. Есть несколько способов избежать этого, самым очевидным из которых, конечно же, является отсутствие кнопки «домой». Но если вы решите, что это необходимо для вашего приложения, вы можете
Используйте службу нелинейной навигации для управления круговой навигацией
Используйте более наивный метод, в котором вы поддерживаете глобальный флаг, когда пользователь нажимает кнопку «Домой», устанавливает этот флаг и вызывает NavigationService.GoBack()
. Переопределите метод OnNavigatedTo
на каждой странице, и если этот глобальный флаг установлен, вызывайте NavigationService.GoBack()
снова, пока не перейдете на главную страницу.