1

我正在DockPanel为我的布局创建一个应用程序。在“左侧”中,DockPanel我设置了一些链接(标签),我想UserControls在单击链接时使用它们打开不同的链接。我希望在UserControls单击相应链接时始终在“右”DockPanel 中打开。

我将使用 WPF(使用 MVVM)中的什么机制来完成此任务?有没有我可以查看的示例?

4

1 回答 1

4

要遵循的一般模式是这样的:

  1. 将 a 添加ContentPresenter到用户界面中将托管可切换内容的位置(DockPanel在您的情况下为右侧面板)。
  2. 每个可切换视图的视觉表示将由用户控件表示。
  3. 每个可切换视图的数据将由 viewModel 表示。
  4. Content将 的属性绑定ContentPresenter到视图模型中的属性,该属性是表示视图 EG 的 viewModel 类型BoundContent
  5. 单击链接时,您的 viewModel 应通过更改绑定属性并引发PropertyChanged事件以通知您的视图来对此做出反应。
  6. 对于每个可以切换的“视图”,您需要一个DataTemplate将每个用户控件映射到每个视图模型的。

Rachel Lims博客包含几个示例,这些示例演示了上述内容:

于 2012-12-13T16:49:29.287 回答