【发布时间】:2012-10-31 14:19:28
【问题描述】:
已开始遵循 mvvm 模式的 WPF 应用程序并遇到了问题。我有一个客户页面,其中包含许多搜索并返回客户列表。当我双击一条记录时,我希望能够导航到客户视图,以便用户可以查看/编辑详细信息。
在不使用 MVVMLight 或 WAF 或 PRISM 的情况下,这是否可能(因为我一直在努力完全进入 PRISM !!!)而不强制我的视图模型了解我的应用程序?
谢谢
【问题讨论】:
标签: wpf mvvm navigation
已开始遵循 mvvm 模式的 WPF 应用程序并遇到了问题。我有一个客户页面,其中包含许多搜索并返回客户列表。当我双击一条记录时,我希望能够导航到客户视图,以便用户可以查看/编辑详细信息。
在不使用 MVVMLight 或 WAF 或 PRISM 的情况下,这是否可能(因为我一直在努力完全进入 PRISM !!!)而不强制我的视图模型了解我的应用程序?
谢谢
【问题讨论】:
标签: wpf mvvm navigation
有些人使用Dependency Injection 以解耦的方式连接虚拟机和视图。看看Unity
【讨论】:
我会使用一个单独的/底层的外壳视图和视图模型,只包含你的 ui 布局的结构(一些用于定位导航、菜单、搜索或内容区域的网格)
然后定位您的应用程序视图/控制外壳视图。 (也许有一些可见性绑定)
shell viewmodel 的主要目的是协调你的用户界面的流程。例如,应该根据子控件的某些事件隐藏或显示哪些控件。
您可以在搜索中使用事件处理程序,该事件处理程序已在 shell 视图模型中注册,以显示/隐藏您的不同内容视图。
另一种方法可能是 ContentPresenter。
【讨论】: