找不到视图模型的视图
本文关键字:视图 模型 找不到 | 更新日期: 2023-09-27 17:57:10
我无法使用Caliburn.Micro找到任何视图。引导程序启动,但随后出现一个通用窗口,显示没有任何 ShellViewModel 的视图,即使有 ShellView.xaml。怎么办?
引导程序
public sealed class AppBootstrapper : BootstrapperBase
{
private IKernel _kernel;
#region Bootstrapper
public AppBootstrapper()
{
Start();
}
protected override void Configure()
{
_kernel = new StandardKernel();
_kernel.Bind<IWindowManager>().To<WindowManager>().InSingletonScope();
_kernel.Bind<IEventAggregator>().To<EventAggregator>().InSingletonScope();
_kernel.Bind<IShell>().To<ShellViewModel>();
}
protected override void OnStartup(object sender, System.Windows.StartupEventArgs e)
{
DisplayRootViewFor(typeof (IShell));
}
protected override void OnExit(object sender, EventArgs e)
{
_kernel.Dispose();
base.OnExit(sender, e);
}
protected override object GetInstance(Type serviceType, string key)
{
if (serviceType != null) {
return _kernel.Get(serviceType);
}
throw new ArgumentNullException("serviceType");
}
protected override IEnumerable<object> GetAllInstances(Type serviceType)
{
return _kernel.GetAll(serviceType);
}
protected override void BuildUp(object instance)
{
_kernel.Inject(instance);
}
#endregion
}
}
壳视图模型
public sealed class ShellViewModel : Screen, IShell
{
public ShellViewModel()
{
DisplayName = "Hello";
}
}
您可能需要使用 SelectAssemblies 的覆盖来告诉 CM 视图和视图模型的".dll"在哪里。 否则它将永远找不到它们。 我通常也在我的项目中使用它,它应该可以解决您的问题。