2016-03-08 5 views
0

У меня есть следующая проблема: в одном проекте, который я использую, используется калибра, но код не обновляется.Не удается выполнить миграцию Caliburn Bootstrapper <T> класс до версии 2.0+

Я нашел эту строку в списке изменений в Caliburn, который должен решить проблему:

< Bootstrapper T> был удален. Использовать BootstrapperBase и переопределить OnStartup с вызовом DisplayRootViewFor < T>() вместо этого.

В проекте код все еще так:

public class Bootstrapper : Caliburn.Micro.Bootstrapper<MvvmCameraDemo.ViewModels.ShellViewModel> 
    { 
    } 

Это, конечно, больше не работает, потому что BootstrapperBase не имеет аргументов <T> в новой версии Caliburn.

Я не так хорошо знаком с кодированием, поэтому, возможно, один из вас, ребята, может мне помочь, как заменить старый класс новым.

Thanks

ответ

2

Вы здесь очень хорошо. Вместо указания модели корневого представления базовым классом вместо этого вы можете отобразить ее в методе OnStartup.

using Caliburn.Micro; 
public class Bootstrapper : BootstrapperBase 
{ 
    public Bootstrapper() 
    { 
     Initialize(); 
    } 

    // More overrides here... 

    protected override void OnStartup(object sender, StartupEventArgs e) 
    { 
     DisplayRootViewFor<MvvmCameraDemo.ViewModels.ShellViewModel>(); 
    } 
}