繁体   English   中英

为什么要使用IDependecyResolver.Resolve <IUICompositionService> ()方法抛出异常&#39;Catel.IoC.TypeNotRegisteredException&#39;?

[英]Why does IDependecyResolver.Resolve<IUICompositionService>() method throw exception 'Catel.IoC.TypeNotRegisteredException'?

当我尝试解析IUICompositionService接口时,出现异常'Catel.IoC.TypeNotRegisteredException'。 我添加了参考Catel.Extensions.Prism,并从Nuget安装了LoadAssembliesOnStartup.Fody到我的WPF MVVM Catel项目中,并在App.xaml.cs中的App.OnStartup()方法中编写了以下代码:

var serviceLocator = new ServiceLocator();
serviceLocator.RegisterTypesUsingDefaultNamingConvention();

在MainWindowViewModel中的命令方法中,我编写了以下代码以可视化应用程序MainWindow中的CalibrationView视图:

private void ShowCalibrationViewExecute()
{
    var viewModel = new CalibrationViewModel();
    var dependencyResolver = this.GetDependencyResolver();
    var uiCompositionService = dependencyResolver.Resolve<IUICompositionService>();
    uiCompositionService.Activate(viewModel, "MainRegion");
}

对于此视图,应用程序中有CalibrationModel和CalibrationViewModel类。 但是,当我按MainWindow工具栏中的ShowCalibrationView按钮并调用ShowCalibrationViewExecute方法时,

var uiCompositionService = dependencyResolver.Resolve<IUICompositionService>();

引发Catel.IoC.TypeNotRegisteredException异常。 异常报告: 指定的类型'Catel.Services.IUICompositionService'未注册或无法构造。 使用前请先注册类型。 未注册类型“ Catel.Services.IUICompositionService” 如何纠正和消除此错误? 我做错了什么?

PS现在,我的项目中有以下Catel的参考文献:Catel.Core,Catel.Extensions.Controls,Catel.Extensions.Prism,Catel.Fody.Attributes,Catel.MVVM。

确保实现一个负责类型注册的引导程序。 在“ 示例”存储库中查看示例,其中包含几个棱镜示例。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM