我正在使用MVVM模式设计项目,因此使用了WPF,绑定等。
现在,问题是,导航布局和逻辑的要求不断变化。 今天,导航逻辑通过绑定在ViewModel中进行了硬编码。 我想知道,有一个好的设计模式可以让这很容易吗?
例如,顶部有一个水平条作为第一级导航,然后是左侧的垂直手风琴控制作为第二级&第3级导航,主区域的一些CollapsiblePanels作为第4级导航。
每当单击任何导航元素时,都会设置ViewModel属性,以便绑定触发视图刷新。
我们的要求人们不断改变关于业务逻辑部分(将其作为用户控件)如何处于第1级,第2级,第3级或第4级的想法:昨天UserControlA可能位于CollapsiblePanel内,因此它是第4级导航;今天,由于一些用户的要求,它可能被提升为二级项目。
我不会责怪需求工程师,因为有可能在MVVM项目中设计一个精致的导航框架,使GUI布局变得容易,甚至可以配置。
有什么建议吗?代码样本非常受欢迎!
答案 0 :(得分:1)
您应该与MEF或Unity一起查看Prism。它们共同允许您编写模块化应用程序,这听起来正是您所需要的。基本上你要做的是
确实需要一些学习来适应它,但最终它是值得的。自从我开始使用棱镜后,我再也没有回头。