0

我目前Ribboncontrol在我的主窗口顶部有一个。在 RibbonControl 上有几个 RibbonPages,根据选择的 RibbonPage,我想在 RibbonControl 下方显示一个适合所选 RibbonPage 需要的不同 IDE 布局。

我的方法是否正确,我为每个 IDE 布局创建不同的视图/视图模型,并且每个不同的 RibbonPage 选择一个相应的视图/视图模型被仔细阅读?我喜欢使用这种方法,因为这样我就不需要在视图/视图模型之间进行通信,因为每个 RibbonPage 中的功能都是独立的。

每个视图都是一个UserControl封装了一个DockLayoutManager. 我在下面包含了一些屏幕截图(SS1 = 我要在其上加载不同视图的 MainWindow;SS2 = 表示 UserControl 的视图,而该视图又表示具有所有关联的 LayoutPanels、DocumentPanels 的 DockLayoutManager ......)

问题:我将如何实现它,这是一个可行的解决方案来显示不同视图作为所选 RibbonPage 的功能?

在此处输入图像描述

在此处输入图像描述

4

1 回答 1

1

显示与不同功能和/或标签相关的不同视图页面是很常见的RibbonControl。通常,您将拥有一个所有视图模型都扩展的基本视图模型类,并在您的父视图模型中拥有该类型的属性......让我们称之为YourViewModelProperty。要更改视图,您只需为该属性设置一个新的视图模型:

YourViewModelProperty = new SomeDerivedViewModel()

您可以将每个链接到在.s 中声明UserControl的相关视图模型。通过这种方式,应用程序中的每个视图都可以使用它们。您可以在我对 WPF 的回答中找到有关此方法的更多信息- Stack Overflow 上的视图模型问题的自动视图解析。DataTemplateApp.xaml


更新>>>

在我对WPF MVVM 导航视图问题的回答中有一个更好的解释。

于 2014-12-23T10:17:31.443 回答