我想在 WPF MVVM 应用程序中实现以下分层导航模型:
ShellView
Page1View
Subpage1View
Subpage2View
Subpage3View
Page2View
...
这意味着在 Shellview 上,我有激活/停用 Page1View 和 Page2View 的按钮。在 Page1View 上有激活 Subpage1View 和 Subpage3View 的按钮,而 Subpage1View 有一个激活 Subpage2View 的按钮。
子页面应该在哪里显示?导航模型是否应该准确地映射到视图结构?我的意思是,我在 ShellView 上有一个 ContentControl(名为 ActiveItem),激活时会在其中显示 Page1View 和 Page2View。Subpage1View 应该显示在 Shell 的 ActiveItem ContentControl 上还是父视图 (Page1View) 上?
如果我应该在 ShellView 上显示一个子页面,那么如何正确激活它?因为激活它的按钮在 Page1View 而不是 shell 上。
如果我应该在父视图 (Page1View) 上显示一个子页面,那么我必须在 Page1View 上创建一个 ActiveItem ContentControl 并在需要之前将其隐藏。如何 ?另外我猜父视图滚动条可能会成为一个问题。
请指教!
使用 Caliburn.Micro 1.3、.NET 4、WPF。
谢谢!