#mvvmcross
#mvvmcross
Вопрос:
Я играю с MVVMCROSS 6.2.3, и у меня проблема с вложенной навигацией в моем приложении XForms UWP.
Вот описание: VM1 переходит к VM2, и VM1 ожидает результата VM2!
VM2 переходит к VM3, VM2 не нужен результат VM3. После перехода от VM2 к VM3 и VM1 неожиданно выдается нулевой результат.
public class MainViewModel : MvxViewModel
{
public IMvxAsyncCommand GoToSecondPageCommand =>
new MvxAsyncCommand(async () =>
{
var param = new Dictionary<string, string> { { "ButtonText", ButtonText } };
var result = await navigationService.Navigate<SecondViewModel, Dictionary<string, string>, SecondViewModelResult>(param);
var breakpoint = 1;
//HERE IS THE ISSUE, result IS NULL because it fires immediately after Navigate<ThirdViewModel>()
});
public IMvxAsyncCommand BackCommand => new MvxAsyncCommand(async () =>
{
await navigationService.Close(this, new SecondViewModelResult { Result = "Back button clicked" });
});
}
public class SecondViewModel : MvxViewModel<Dictionary<string, string>, SecondViewModelResult>
{
public IMvxAsyncCommand GoToThirdPageCommand =>
new MvxAsyncCommand(async () =>
{
var t = await navigationService.Navigate<ThirdViewModel>();
var breakpoint = 2;
});
}
public class ThirdViewModel : MvxViewModel
{
}
Вы могли бы запустить его самостоятельно с моего GitHubhttps://github.com/JTOne123/XamFormsMvxTemplate
Это поведение было хорошим в версии 5.7, и VM1 ожидает, пока VM2 вернет результат.
Что я делаю не так?
Комментарии:
1. Пожалуйста, предоставьте некоторый код для контекста.
2. Спасибо за ваш ответ!, Я добавил код и ссылку на свой github