想象一下,您有一個複雜的數據對象。編輯對象的各種屬性足夠複雜,用戶最好擁有多個屏幕。它本質上是配置項目的購物車。WPF - MVVM屏幕管理
因此,一個屏幕將允許您添加項目。 另一個將允許您添加對這些項目的修改,這些修改與成本相關。 第三個屏幕將允許您爲物品配置全局設置。因爲我確信你可以猜到,每個屏幕都在同一個購物車上運行,只是改變了內部物品的不同屬性和關係。
所以,我們要儘量寫使用MVVM應用程序,並在討論各種屏幕(以及它們之間的導航),我們得出了以下問題:
如何人一般管理應用程序使用MVVM時的狀態?用戶用來改變屏幕的導航欄將存在於屏幕之外,但是當用戶點擊它時,人們用什麼常用的方法來隱藏和顯示另一個?
更一般地說,人們如何處理全局應用程序狀態?用戶一次只能在一個手推車上操作,一次只能有一個用戶登錄,一次只能顯示一個屏幕。最好是創建一個存儲這些重要屬性的單例,ViewModel可以保存它們的副本並通過事件聚合器訂閱更改?如你所知,我幾乎不知道該從哪裏開始解決這個問題,所以任何建議都是受歡迎的。
我只會補充說,如果你不需要,你不必使用PRISM的全部。有時候DI容器對於小型應用程序來說可能有點多。 – Jacob 2011-02-16 19:13:26