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