WPF/MVVM:在同一DockPanel中打开不同的UserControl

WPF/MVVM:在同一DockPanel中打开不同的UserControl,wpf,mvvm,dockpanel,Wpf,Mvvm,Dockpanel,我正在使用DockPanel为我的布局创建一个应用程序。在“左”DockPanel中,我设置了一些链接标签,我希望在单击链接时使用这些标签打开不同的用户控件。我希望在单击相应链接时,UserControls始终在“右”文档面板中打开 在使用MVVM的WPF中,我将使用什么机制来实现这一点?是否有我可以查看的示例?遵循的一般模式如下: 将ContentPresenter添加到用户界面中的位置,该位置将在您的案例中DockPanel的右侧面板中承载可切换内容。 每个可切换视图的视觉表示将由用户控件表

我正在使用DockPanel为我的布局创建一个应用程序。在“左”DockPanel中,我设置了一些链接标签,我希望在单击链接时使用这些标签打开不同的用户控件。我希望在单击相应链接时,UserControls始终在“右”文档面板中打开


在使用MVVM的WPF中,我将使用什么机制来实现这一点?是否有我可以查看的示例?

遵循的一般模式如下:

将ContentPresenter添加到用户界面中的位置,该位置将在您的案例中DockPanel的右侧面板中承载可切换内容。 每个可切换视图的视觉表示将由用户控件表示。 每个可切换视图的数据将由viewModel表示。 将ContentPresenter的Content属性绑定到视图模型中表示视图的viewModel类型的属性,例如BoundContent。 单击链接时,viewModel应对此作出反应,更改绑定属性并引发PropertyChanged事件以通知视图。 对于每个可以切换的“视图”,您需要一个数据模板,将每个用户控件映射到每个viewModel。 博客包含两个示例,演示了上述内容:


遵循的一般模式如下:

将ContentPresenter添加到用户界面中的位置,该位置将在您的案例中DockPanel的右侧面板中承载可切换内容。 每个可切换视图的视觉表示将由用户控件表示。 每个可切换视图的数据将由viewModel表示。 将ContentPresenter的Content属性绑定到视图模型中表示视图的viewModel类型的属性,例如BoundContent。 单击链接时,viewModel应对此作出反应,更改绑定属性并引发PropertyChanged事件以通知视图。 对于每个可以切换的“视图”,您需要一个数据模板,将每个用户控件映射到每个viewModel。 博客包含两个示例,演示了上述内容: