C# 是否可以在Prism UnityContainer中使用Micro.Caliburn的iWindows管理器
我正在寻找UnityContainer的WindowManager,我在容器中注册了此服务 但是当我计划利用这个服务来显示用户控件时,这是不可能的。它表示找不到视图模型“x”的视图 我使用Unity作为引导器C# 是否可以在Prism UnityContainer中使用Micro.Caliburn的iWindows管理器,c#,mvvm,unity-container,caliburn.micro,C#,Mvvm,Unity Container,Caliburn.micro,我正在寻找UnityContainer的WindowManager,我在容器中注册了此服务 但是当我计划利用这个服务来显示用户控件时,这是不可能的。它表示找不到视图模型“x”的视图 我使用Unity作为引导器 public class Bootstrapper : UnityBootstrapper { protected override DependencyObject CreateShell() { MainWindow shell = Container.
public class Bootstrapper : UnityBootstrapper
{
protected override DependencyObject CreateShell()
{
MainWindow shell = Container.Resolve<MainWindow>();
shell.Show();
return shell;
}
protected override void ConfigureContainer()
{
base.ConfigureContainer();
Container.RegisterInstance<IWindowManager>(new WindowManager());
}
}
公共类引导程序:UnityBootstrapper
{
受保护的覆盖依赖对象CreateShell()
{
MainWindow外壳=Container.Resolve();
shell.Show();
返回壳;
}
受保护的覆盖无效配置容器()
{
base.ConfigureContainer();
Container.RegisterInstance(新的WindowManager());
}
}
您是否定制了这些约定?您的视图是否命名为MainWindowView?你对CM有很多经验吗?如果您没有基本上意识到它找不到视图这一事实仅仅意味着用于查找视图的约定与视图类型名不匹配,那么就应该阅读默认约定,最有可能的原因是您将视图与viewmodel放在了一起,而且您可能没有自定义约定管理器以适应conventionInfo for conventions:默认实现只是在名称空间和类型名上用视图(据我所知)替换viewmodel。