【发布时间】:2013-12-02 03:04:00
【问题描述】:
我有一个 Caliburn.Micro 项目,我正在尝试从它的 SimpleContainer 移植到 Autofac。
我正在使用this code,这是this guide 中代码的更新版本。
使用 SimpleContainer 我只是做了(在引导程序内部)
protected override void OnStartup(object sender, System.Windows.StartupEventArgs e)
{
this.DisplayRootViewFor<IScreen>(); // where ShellViewModel : Screen
}
现在这不再起作用了,那么我应该怎么做才能将 Autofac 与 Caliburn.Micro 集成?
【问题讨论】:
-
发生了什么,您是遇到异常还是什么?请提供更多细节。谢谢。
-
什么都没有。我注意到的奇怪的事情是它甚至没有触发 OnStartup 方法。理论上 DisplayRootViewFor 应该用 ShellViewModel 为 ShellView 调用 WindowManager.ShowDialog,但什么都没有显示。
-
您是否使用未修改的链接中的引导程序?
-
是的,来自 github。我刚刚添加了 onstartup 覆盖,就像我在使用 SimpleContainer 时所做的那样
-
我唯一做的另一件事是创建一个普通的公共类 AppBootstrapper : AutofacBootstrapper
{ },在 App.cs 中我只做 var boot = new AppBootstrapper(); boot.Start();
标签: wpf mvvm dependency-injection autofac caliburn.micro