【问题标题】:How to navigate from one ViewModel to another in Caliburn.Micro?如何在 Caliburn.Micro 中从一个 ViewModel 导航到另一个 ViewModel?
【发布时间】:2011-02-28 13:05:15
【问题描述】:

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

我开始使用 Caliburn.Micro,但现在我怀疑我只能使用 Conductor。还是我错过了什么?

注意:我按原意将constructor更改为Conductor。这就是你不校对问题的后果。

【问题讨论】:

    标签: silverlight-4.0 caliburn.micro


    【解决方案1】:

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

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

    一旦您收到来自您的LoginViewModel 的输入,无论是作为模态对话框还是引导视图,您都可以使用ShellViewModel 作为指挥来适当地显示您的DashboardViewModel

    【讨论】:

    • 很抱歉,我现在才注意到我输入了构造函数而不是导体。我很抱歉。我昨天因为喉咙发炎正在服药,我还没有校对这个问题。不过,您的回答向我展示了很多应该如何做的事情。
    猜你喜欢
    • 2013-10-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多