【发布时间】:2012-12-01 14:05:36
【问题描述】:
我正在为我的布局创建一个使用DockPanel 的应用程序。在“左侧”DockPanel 中,我设置了一些链接(标签),我想在单击链接时打开不同的UserControls。我希望UserControls 在单击相应链接时始终在“右”DockPanel 中打开。
我将使用 WPF 中的什么机制(使用 MVVM)来完成此任务?有没有可以查看的示例?
【问题讨论】:
我正在为我的布局创建一个使用DockPanel 的应用程序。在“左侧”DockPanel 中,我设置了一些链接(标签),我想在单击链接时打开不同的UserControls。我希望UserControls 在单击相应链接时始终在“右”DockPanel 中打开。
我将使用 WPF 中的什么机制(使用 MVVM)来完成此任务?有没有可以查看的示例?
【问题讨论】:
要遵循的一般模式是这样的:
ContentPresenter 添加到用户界面中将承载可切换内容的位置(在您的情况下为DockPanel 的右侧面板)。ContentPresenter 的Content 属性绑定到视图模型中的一个属性,该属性是代表视图的viewModel 类型。 BoundContent。PropertyChanged 事件来通知您的视图来对此做出反应。DataTemplate,它将每个用户控件映射到每个视图模型。Rachel Lims 博客包含几个演示上述内容的示例:
【讨论】: