2016-01-27 4 views
1

У меня есть исключение «Catel.IoC.TypeNotRegisteredException», когда я пытаюсь разрешить интерфейс IUICompositionService. Я добавил ссылочный Catel.Extensions.Prism и установил LoadAssembliesOnStartup.Fody из NuGet в мой проект WPF MVVM Catel и App.xaml.cs в App.OnStartup() метод написал следующий код:Почему метод IDependecyResolver.Resolve <IUICompositionService>() исключает исключение «Catel.IoC.TypeNotRegisteredException»?

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

В MainWindowViewModel в метод команды я написал следующий код для визуализации CalibrationView вида в MainWindow приложения:

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

для этой точки зрения есть CalibrationModel и CalibrationViewModel классов в приложении. Но когда я нажимаю кнопку ShowCalibrationView в панели инструментов MainWindow и метод ShowCalibrationViewExecute вызовов, то в строке

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

исключение Catel.IoC.TypeNotRegisteredException отбрасывается. Отчеты об исключениях: Указанный тип «Catel.Services.IUICompositionService» не зарегистрирован или не может быть сконструирован. Пожалуйста, зарегистрируйте тип перед его использованием. Тип «Catel.Services.IUICompositionService» не зарегистрирован. Как я могу исправить и устранить эту ошибку? Что я делаю неправильно?

P.S. Теперь у меня есть ссылки на ссылки Catel в моем проекте: Catel.Core, Catel.Extensions.Controls, Catel.Extensions.Prism, Catel.Fody.Attributes, Catel.MVVM.

+0

@ Спасибо за то, что назвали его POS ;-) –

+0

@GeertvanHorrik Э-э ... ну, вы знаете ... Я не использовал его, я просто вижу, как этот парень сражается всю неделю, пытаясь получить простейшую вещь и запустить. Может быть, документам нужна какая-то любовь? Или вам нужно взять экскаватор-погрузчик в пищу успеха Catel? Не знаю. – Will

+1

@ Я полностью соглашусь со всем остальным, что вы сказали. Существует руководство по началу работы и множество примеров. Если вы не можете заставить его работать, то это не для вас. Они могли нанять профессионала, который помогает им настраивать его, но эй, который стоит денег и не вариант ... –

ответ

1

Обязательно внедрите загрузчик, который занимается регистрацией типа. Ознакомьтесь с примерами в Examples repository, он содержит несколько примеров призмы.