我想从登录屏幕导航到Silverlight OOB应用程序中的仪表板。
我开始使用Caliburn.Micro,但现在我怀疑看到我可以使用的是Conductor
。或者我错过了什么?
注意:我将构造函数更改为 Conductor
。这是你没有校对你的问题所得到的。
答案 0 :(得分:3)
您可以通过多种方式显示登录屏幕,最好的方法是从ShellViewModel
启动它。因此,您的ShellViewModel
将依赖于您的LoginViewModel
,您可以将其作为抽象注入(ILoginViewModel
),或者更好地使用抽象工厂,并将其注入您的{ {1}}构造函数。
无论哪种方式,只要ShellViewModel
中有LoginViewModel
的实例,就可以将其显示为模式对话框(在这种情况下使用Caliburn.Micro ShellViewModel
方法 - 将此依赖项注入WindowManager.ShowDialog
抽象),或将登录视图显示为shell视图主要内容区域的一部分,在这种情况下,您的IWindowManager
将成为指挥,并将激活实例使用ShellViewModel
方法的LoginViewModel
。
一旦您收到ActivateItem
的输入,无论是作为模态对话框还是进行了视图,您都可以使用LoginViewModel
作为指挥显示DashboardViewModel
。