如何在Caliburn.Micro中从一个ViewModel导航到另一个ViewModel?

时间:2011-02-28 13:05:15

标签: silverlight-4.0 caliburn.micro

我想从登录屏幕导航到Silverlight OOB应用程序中的仪表板。

我开始使用Caliburn.Micro,但现在我怀疑看到我可以使用的是Conductor。或者我错过了什么?

注意:我将构造函数更改为 Conductor 。这是你没有校对你的问题所得到的。

1 个答案:

答案 0 :(得分:3)

您可以通过多种方式显示登录屏幕,最好的方法是从ShellViewModel启动它。因此,您的ShellViewModel将依赖于您的LoginViewModel,您可以将其作为抽象注入(ILoginViewModel),或者更好地使用抽象工厂,并将其注入您的{ {1}}构造函数。

无论哪种方式,只要ShellViewModel中有LoginViewModel的实例,就可以将其显示为模式对话框(在这种情况下使用Caliburn.Micro ShellViewModel方法 - 将此依赖项注入WindowManager.ShowDialog抽象),或将登录视图显示为shell视图主要内容区域的一部分,在这种情况下,您的IWindowManager将成为指挥,并将激活实例使用ShellViewModel方法的LoginViewModel

一旦您收到ActivateItem的输入,无论是作为模态对话框还是进行了视图,您都可以使用LoginViewModel作为指挥显示DashboardViewModel