我们正在使用棱镜和MVVM进行医疗跟踪操作的应用程序。PRISM:将对象/事件从父项传递给子项带有PopupRegions的查看/虚拟机
在这个应用中,我们已经注册了意见主要区域和场景中,在网格单元(在这种情况下xamdatagrid - Infragistics的)点击将通过棱镜区域弹出行为构建启动另一个区域。
所以,当我们点击单元格时,会调用该视图后面的代码中的cellactivation操作,然后调用视图模型中的一个方法来.RequestNavigate注册到'secondary'弹出区域的视图(从而启动似乎是对现有应用程序的对话)。
我正试图从父视图(网格中记录的值)传递一个对象到在弹出窗口中启动的子视图,并且发现没有预期的操作正在工作。
我有一个中介对象,我们用来将信息从孩子传回给父母,但是这不起作用,因为中介的发布/通知操作需要子视图'已经'被实例化之前父母发布以传递该信息。
我发现Prism.Events类中内置的事件聚合器结构似乎没有工作(我假设因为相同的发布/订阅问题)。我可以通过父视图中的事件聚合器发布事件并在子视图中进行订阅,但是我必须启动子视图“两次”才能使与事件聚合器操作绑定的事件实际触发。
我明白这是相当模糊的(减去代码),但我更多地寻找一个起点,或者遇到同样问题的任何人。子弹点场景如下:
- 父视图已在现有区域中实例化。
- 单击父视图中的单元格实例化(导航到)弹出区域中的子视图。
- 相同的点击操作需要将对象从父视图传递到子视图,以便子视图可以基于该对象过滤其自己的数据。
- 操作使用Prism/MVVM构造。
任何帮助,建议,指针,想法都会很棒。
如果之前没有使用PopupRegion,这似乎不起作用。 – Landerah 2017-03-03 06:38:41