Caliburn.Micro视图切换

时间:2015-10-30 12:53:28

标签: c# wpf mvvm caliburn.micro

在CM WPF应用程序中,我有以下项目:

<Window> <!-- Shell Window -->
 <ContentControl x:Name="MainRegion">
 <ContentControl x:Name="SearchRegion">
<Window>

查看:

MainRegionView
SearchRegionView

查看模特:

MainRegionViewModel //implements Conductor<Screen>
SearchRegionViewModel //implements Conductor<Screen>

我需要从MainRegionViewModel切换SearchRegionViewModel的视图。 以下代码在MainRegionViewModel 中执行

ViewModelTest test = new ViewModelTest();
//Calling the method from object reference
searchRegionViewModel.ActivateItem(test);

问题: SearchRegionView中未加载视图。 如何将视图加载到SearchRegion?

1 个答案:

答案 0 :(得分:1)

您的MainRegionViewModel&amp; SearchRegionView需要实施屏幕,而ShellViewModel是需要实施指标的人。之后,您需要在XAML(ShellView.xaml)中绑定ActiveItem。

<ContentControl x:Name="ActiveItem"></ContentControl>

在ShellViewModel中使用Activate(YourViewModel)

这是Example

如果要更改MainRegionViewModel中的ActiveItem,您需要查看EventAggregator以向ShellViewModel发布消息,以Activate期望的ViewModel