【发布时间】:2026-02-05 17:00:02
【问题描述】:
我想在 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。
谢谢!
【问题讨论】:
标签: c# .net wpf silverlight caliburn.micro