想象一下,您有一个复杂的数据对象。编辑对象的各种属性足够复杂,用户最好拥有多个屏幕。它本质上是配置项目的购物车。WPF - MVVM屏幕管理
因此,一个屏幕将允许您添加项目。 另一个将允许您添加对这些项目的修改,这些修改与成本相关。 第三个屏幕将允许您为物品配置全局设置。因为我确信你可以猜到,每个屏幕都在同一个购物车上运行,只是改变了内部物品的不同属性和关系。
所以,我们要尽量写使用MVVM应用程序,并在讨论各种屏幕(以及它们之间的导航),我们得出了以下问题:
如何人一般管理应用程序使用MVVM时的状态?用户用来改变屏幕的导航栏将存在于屏幕之外,但是当用户点击它时,人们用什么常用的方法来隐藏和显示另一个?
更一般地说,人们如何处理全局应用程序状态?用户一次只能在一个手推车上操作,一次只能有一个用户登录,一次只能显示一个屏幕。最好是创建一个存储这些重要属性的单例,ViewModel可以保存它们的副本并通过事件聚合器订阅更改?如你所知,我几乎不知道该从哪里开始解决这个问题,所以任何建议都是受欢迎的。
我只会补充说,如果你不需要,你不必使用PRISM的全部。有时候DI容器对于小型应用程序来说可能有点多。 – Jacob 2011-02-16 19:13:26