找不到MyProjectName.Views.MyViewName的视图

时间:2019-03-26 18:55:33

标签: c# wpf caliburn.micro

我有两个文件夹 ViewModels Views 。在ViewModels中,我有两个类:ShellViewModel和AViewModel,在View中,我有两种形式:ShellView和AView。 ShellView有一个按钮,当我单击它时,将打开AView并出现错误:

  

找不到DBStudent.Views.Aview的视图。

在我的Bootstrapper类中,我进行了更改: 从此:

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

对此:

   protected override void OnStartup(object sender, StartupEventArgs e)  
   {            
        DisplayRootViewFor<AViewModel>();
   } 

Aview打开并且没有错误

为什么会这样?

我这样打开AView:

IWindowManager manager = new WindowManager();
public void CreateClick()
{               
    manager.ShowDialog(new AView());
}

1 个答案:

答案 0 :(得分:0)

您应该将视图模型的实例传递给窗口管理器:

public void CreateClick()
{
    manager.ShowDialog(new AViewModel());
}

视图模型不应创建或引用视图。