Как выполнить циклический рабочий процесс

#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