#mvvmcross
#mvvmcross
Вопрос:
Я хочу смоделировать циклический рабочий процесс, поэтому начинаю с View / ViewModel StepA, затем stepB и так далее. Если пользователь дойдет до конца и все будет в порядке, данные будут каким-то образом обработаны, и пользователь должен вернуться к StepA, но теперь с новым экземпляром StepAViewModel и чистым стеком навигации. Я делаю simple .navigate (..) в StepA, который кажется нормальным, но стек навигации заполнен, так что вы можете отступать сто раз, но в моем приложении это определенно неправильно. Допускается только возврат к началу текущего процесса.
Спасибо за помощь
С наилучшими пожеланиями
Gerhard
Ответ №1:
Я не знаю, нашли ли вы уже решение для этого, но на всякий случай, если кто-нибудь найдет в том же месте, что и вы:
Я не уверен, куда вы хотите, чтобы он переходил, когда вы возвращаетесь с шага A, но после завершения рабочего процесса вы могли бы использовать a MvxPopToRootPresentationHint
, чтобы открыть все, чтобы вы оказались в своем корневом представлении, или MvxPopPresentationHint
перейти к определенному представлению, а оттуда вы просто переходите к своему шагу A, таким образом, единственное, что перед шагом A, — это ваше корневое представление (или ваше конкретное представление, если вы используете другую подсказку).
Чтобы использовать подсказку, вы просто делаете это (я установил animated:false
в подсказке, но вы можете установить true
, если хотите, чтобы анимация обратной навигации выполнялась):
await mvxNavigationService.ChangePresentation(new MvxPopToRootPresentationHint(false))
Больше информации в разделе Запрос изменений презентации и здесь вы можете увидеть различные типы подсказок. ПРИВЕТ.
Ответ №2:
спасибо, да, я попробую.
С наилучшими пожеланиями
Gerhard