【发布时间】:2011-12-05 04:46:05
【问题描述】:
我正在使用MVVM模式设计一个项目,所以使用了WPF,绑定等。
现在的问题是,导航布局和逻辑的要求不断变化。 今天,导航逻辑通过绑定硬编码在 ViewModel 中。 我想知道,有没有好的设计模式可以让这变得简单?
例如,顶部有一个水平栏作为 1 级导航,左侧有一个垂直 Accordion 控件作为 2 级和 3 级导航,主区域有一些 CollapsiblePanel 作为 4 级导航。
每当单击任何导航元素时,都会设置一个 ViewModel 属性,以便绑定触发视图刷新。
我们的需求人员不断改变关于业务逻辑部分(将其作为用户控件)应如何位于第 1、第 2、第 3 或第 4 层的想法:昨天 UserControlA 可能在 CollapsiblePanel 内,所以它是第 4 层导航;今天,由于一些用户的要求,它可能会被提升为二级物品。
我不会责怪需求工程师,因为它应该可以在 MVVM 项目中设计一个精致的导航框架,使 GUI 布局更改变得容易,甚至是可配置的。
有什么建议吗?欢迎提供代码示例!
【问题讨论】:
标签: wpf mvvm navigation