浏览主窗口中包含的多个子视图

我正在开发一个WPF MVVM应用程序,我需要一个只有一个徽标的主窗口,它必须在其中显示子视图。 我在主窗口中没有任何控件,所有控件都驻留在子视图中,例如按钮,如Next,Back,Cancel和一些文本块等。现在如果用户在子视图上选择Next按钮,我必须绘制或加载下一个主窗口内的子视图。 如果单击“后退”按钮,则必须返回上一个子视图。 所以基本上我根据点击的按钮更改子视图。 此外,我正在为每个子视图维护不同的视图模型。 现在的问题是我无法想象如何将子视图链接到各自的视图模型。 这个应用程序类似于一些安装应用程序,根据选择和用户点击的按钮显示不同的对话框。我是这个wpf的新手,不想使用MVVM Light,Prism等。任何详细的帮助都会很大赞赏。 提前致谢。

将任何数据类型与XAML控件相关联的最简单方法之一是使用DataTemplate 。 因此,您可以简单地将类似的内容添加到Application.Resources ,只要您不在DataTemplate上设置x:Key属性,只要它遇到视图模型的实例,它们就会被框架显式应用。 :

    ...    

然后显示视图就像这样简单:

  

在后面的代码或您的视图模型中:

 YourViewModelProperty = new MainViewModel(); 

为视图模型创建基类通常很方便,然后您可以使用相同的属性和ContentControl来交换它们的YourViewModelProperty


更新>>>

一般的想法是你有一个MainViewModel类,其中一个BaseViewModel属性数据绑定到MainWindow.xaml一个ContentControl ……导航控件也应该在MainWindow.xaml而不是在视图中。 这样, MainViewModel类负责在从MainWindow.xaml接收导航Command时将属性更改为相关的视图模型实例。