Caliburn.Micro从UserControl调用viewmodel

时间:2016-03-16 14:24:05

标签: c# wpf mvvm user-controls caliburn.micro

我有一个AppViewModel,它包含一个位于窗口顶部的菜单。在AppViewModel构造中,我正在显示UserControl。在这个UserControl中,我有一个按钮,它调用另一个viewmodel(UserControl)。

我们的想法是保留菜单并处理窗口内容。所以,我有1个窗口和2个UserControls。这是对的吗?

如何从UserControl内的按钮调用另一个ViewModel?或者,我必须从窗口调用它?但它在UserControl里面的按钮!

我的代码:

{{1}}

在FirstViewModel上,我有一个需要调用SecondViewModel的按钮。

1 个答案:

答案 0 :(得分:2)

要从第一个ViewModel导航到第二个ViewModel,您可以在第一个ViewModel中拥有一个方法,如下所示:

public void NavigateToSecond()
{
    var conductor = this.Parent as IConductor;
    conductor.ActivateItem(new SecondViewModel());
}

父母指的是负责为您导航的指挥。