使用Caliburn.Micro 2.0.1,我已经编辑了AppBootStrapper.cs以注入我的服务并且它正在工作,但我想知道是否有自动注入模拟的方法在设计时我的服务版本就像使用MVVM Light一样?
E.g。
protected override void Configure()
{
_container = new SimpleContainer();
_container.PerRequest<MainViewModel>();
_container.Instance<IWindowManager>(new WindowManager());
_container.Singleton<IEventAggregator, EventAggregator>();
// like this...
if (IsInDesignMode)
{
_container.Instance<IMyService>(new MyServiceMock());
}
else
{
_container.Instance<IMyService>(new MyService());
}
}
答案 0 :(得分:1)
好的,所以我想通过StackOverflow上的另一篇文章here(多么令人尴尬)。
解决方案是使用&#34; Execute.InDesignMode&#34;
E.g。
if (Execute.InDesignMode)
_container.Instance<IMyService>(new MyServiceMock());
else
_container.Instance<IMyService>(new MyService());