Я использую MVVMCross в своем проекте Xamarin.iOS, в котором, когда я пытаюсь перейти назад от SecondViewModel к FirstViewModel, я получаю предупреждение как «Игнорируемая попытка закрыть корень окна (тип ViewModel: SecondViewModel» в iOS во время его отлично работает на Android.
Вот мои ViewModels
FirstViewModel.cs
public class FirstViewModel : MvxViewModel
{
private readonly IMvxNavigationService _navigationService;
public FirstViewModel(IMvxNavigationService navigationService)
{
_navigationService = navigationService;
}
private IMvxAsyncCommand _navigateCommand;
public IMvxAsyncCommand NavigateCommand
{
get
{
_navigateCommand = _navigateCommand ? ? new MvxAsyncCommand(NavigationMethod);
return _navigateCommand;
}
}
private async Task NavigationMethod()
{
var result = await _navigationService.Navigate<SecondViewModel,
SecondViewModelArgs, SecondViewReturnArgs>(new SecondViewModelArgs
{
TextToSecondViewModel = Text
});
Text = result.textToFirstViewModel;
}
}
SeconViewModel.cs
public class SeconViewModel : MvxViewModel<SecondViewModelArgs, SecondViewReturnArgs>
{
private readonly IMvxNavigationService _navigationService;+
public ListExampleViewModel(IMvxNavigationService navigationService)
{
_navigationService = navigationService;
}
public IMvxCommand NavigateBackCommand => new MvxCommand(NavigateBack);
private void NavigateBack()
{
_navigationService.Close(this, new SecondViewReturnArgs { textToHomeViewModel = Text });
}
}
Здесь NavigateCommand в FirstViewModel связан с кнопкой «Открыть Next ViewModel» в FirstView, а NavigateBackCommand в SecondViewModel связан с кнопкой «Закрыть представление» в SecondView.
Пожалуйста, скажите мне, что я здесь неправильно реализовал.
Спасибо