【问题标题】:How to navigate when multiple views share the same view model当多个视图共享同一个视图模型时如何导航
【发布时间】:2012-01-09 11:06:24
【问题描述】:

我有一个视图,它的视图模型具有相当复杂的对象结构。我希望用户能够向视图模型上的实体添加少量数据,并创建了第二个视图,该视图将被导航到与第一个视图相同的区域。由于对附加视图的视图模型的要求很少,它与初始视图共享相同的视图模型。单击一个按钮,我想加载附加视图,允许用户输入一些将更新视图模型的数据,然后单击一个确定按钮,然后使用导航服务返回到上一个视图。但是调用

_regionManager.RequestNavigate(<regionname>, <viewname>

似乎什么都不做。我已将 ViewModel 标记为 NonShared 并在视图的代码隐藏中放置了一个断点,其中导入了视图模型,但断点从未被命中。我在这里想念什么?或者,有没有更好的方法来实现我想要实现的目标?

【问题讨论】:

    标签: silverlight mvvm prism mef


    【解决方案1】:

    在 PRISM 中 - 有 2 种导航策略。基于状态的导航和基于视图的导航。听起来您所做的可以是基于状态的导航和不需要的单独视图。

    然而,没有什么能阻止你做你想做的事。我只想测试 - 尝试将NonShared 也放在视图上。我很确定您所拥有的是构图错误。 RegionManager 不会抛出异常,默认情况下它会吞下这些异常。要真正了解发生了什么 - 为 RegionManager 添加事件处理程序并查看您得到什么异常。更多细节在这里:http://blogs.southworks.net/gmaliandi/2011/08/how-to-prevent-region-navigation-from-hiding-exceptions-in-prism/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多