2011-11-30 73 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/

相关问题