我有两个文件夹ViewModels和Views.In 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());
}
您应该将视图模型的实例传递给窗口管理器:
public void CreateClick()
{
manager.ShowDialog(new AViewModel());
}
视图模型不应创建也不应引用视图。