У меня есть приложение Xamarin для форм, которое разработано с использованием Prism.
Проблема, с которой я сталкиваюсь в IOS, заключается в том, что я не могу перейти на страницу CreateAccount снизу. Но этот же код отлично работает в UWP.
protected async override void OnInitialized()
{
InitializeComponent();
await NavigationService.NavigateAsync($"NavigationPage/LoginPage");
}
protected override void RegisterTypes(IContainerRegistry
containerRegistry)
{
containerRegistry.RegisterForNavigation<CreateAccount, CreateAccountViewModel>();
containerRegistry.RegisterForNavigation<LoginPage,LoginViewModel>();
containerRegistry.RegisterForNavigation<ForgotPassword>();
}
Когда я заменяю вышеуказанную строку, как показано ниже, происходит навигация, но ViewModel не регистрируется.
containerRegistry.RegisterForNavigation<CreateAccount>();
AppDelegate.cs
[Register("AppDelegate")]
public partial class AppDelegate : global::Xamarin.Forms.Platform.iOS.FormsApplicationDelegate
{
public override bool FinishedLaunching(UIApplication app, NSDictionary options)
{
global::Xamarin.Forms.Forms.Init();
LoadApplication(new App(new iOSInitializer()));
return base.FinishedLaunching(app, options);
}
}
public class iOSInitializer : IPlatformInitializer
{
public void RegisterTypes(IContainerRegistry containerRegistry)
{
}
}
}
CreateAccountPageViewModel:
public class CreateAccountViewModel : BasePageViewModel,
INavigationAware
{
public static INavigationService _navigationService;
public CreateAccountViewModel(INavigationService navigationService)
: base(navigationService)
{
_navigationService = navigationService;
}
}
Любая помощь приветствуется.