2011-11-30 50 views
1

我有一個視圖,該視圖具有相當複雜的對象結構的視圖模型。我希望用戶能夠將少量數據添加到視圖模型上的實體,並創建了第二個視圖,該視圖將導航到與第一個視圖相同的區域。由於對附加視圖的視圖模型的要求非常少,因此它與初始視圖共享相同的ViewModel。點擊一個按鈕後,我想要加載附加視圖,允許用戶輸入一些數據,這些數據將更新視圖模型,然後單擊一個OK按鈕,然後使用導航服務將GoBack轉到上一個視圖。然而,致電如何在多個視圖共享相同視圖模型時導航

_regionManager.RequestNavigate(<regionname>, <viewname> 

似乎什麼都不做。我已將ViewModel標記爲NonShared,並在視圖的代碼隱藏中放置了一個斷點,在該位置處導入了視圖模型,但斷點始終未命中。我在這裏錯過了什麼?或者,有沒有更好的方法來實現我想要實現的目標呢?

回答

0

在PRISM中有2種導航策略。基於狀態的導航和基於視圖的導航。這聽起來是你所做的可以是基於狀態的導航和不需要的單獨視圖。

但是,沒有什麼能阻止你做你想做的事。我只想測試 - 嘗試並將NonShared也放在視圖上。我很確定你有什麼是組合錯誤。 RegionManager不會引發異常,它會默認吞下那些異常。要真正瞭解發生了什麼 - 爲RegionManager添加事件處理程序並查看您得到的異常。更多細節在這裏:http://blogs.southworks.net/gmaliandi/2011/08/how-to-prevent-region-navigation-from-hiding-exceptions-in-prism/

相關問題