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
,使我可以再次导航到它
答案 0 :(得分:0)
解决了我的问题,是由于我的空字符串基地址无法转换为Uri,导致错误的原因是我的APIServiceBase。