带DI的PRISM模块无法导航视图

时间:2019-02-07 02:35:48

标签: xamarin.forms prism

Prism模块非常新,我使用的是棱镜7,我有一个模块可以注册其View / ViewModel和其他服务:

public void RegisterTypes(IContainerRegistry containerRegistry) 
{
      containerRegistry.RegisterForNavigation<LoginView, LoginViewModel>();
      containerRegistry.RegisterSingleton<ILoginManager, LoginManager>();
      containerRegistry.RegisterSingleton<ILoginAPIService, LoginAPIService>();
}

manager / apiservice中包含的其他服务已在我的App.xaml.cs

中注册
protected override void RegisterTypes(IContainerRegistry containerRegistry)
{
      containerRegistry.RegisterSingleton<IServiceEntityMapper, ServiceEntityMapper>();
}

谁拥有ViewModel构造函数

 ILoginManager LoginManager;
 public LoginViewModel(INavigationService navigationService, IPageDialogService pageDialogService, ILoginManager loginManager) : base(navigationService, pageDialogService)
 {
       LoginManager = loginManager;
 }

但是,每当我注入ILoginManager时似乎都无法导航到它,它不会给我任何异常也不会崩溃,我注册服务的方式是否有问题?另外,删除ILoginManager,使我可以再次导航到它

1 个答案:

答案 0 :(得分:0)

解决了我的问题,是由于我的空字符串基地址无法转换为Uri,导致错误的原因是我的APIServiceBase。