【发布时间】:2012-02-13 12:10:13
【问题描述】:
我们正在开发一个使用 prism 和 MVVM 进行医疗保健跟踪操作的应用程序。
在此应用程序中,我们在主要区域中注册了视图,以及单击网格中的单元格(在本例中为 xamdatagrid - Infragistics)将通过 prism 区域弹出行为构造启动另一个区域的场景。
因此,当我们单击单元格时,将调用该视图背后代码中的单元激活操作,然后调用视图模型中的方法来 .RequestNavigate 到为“辅助”弹出区域注册的视图(从而在现有应用程序上启动似乎是一个对话框)。
我正在尝试将一个对象从父视图(网格中记录的值)传递到弹出窗口中启动的子视图,但发现没有任何预期的操作有效。
我有一个调解器对象,我们用它来将信息从孩子传回给父母,但这在另一个方向上不起作用,因为调解器的发布/通知操作要求子视图“已经”在父母发布以传递该信息。
我发现 Prism.Events 类中内置的事件聚合器结构似乎也不起作用(我假设是因为相同的发布/订阅问题)。我可以通过事件聚合器从父视图发布事件并在子视图中订阅,但我必须“两次”启动子视图才能使与事件聚合器操作相关联的事件真正触发。
我知道这相当模糊(减去代码),但我正在寻找更多的起点,或者任何遇到相同问题的人。要点场景如下:
- 父视图已在现有区域中实例化。
- 单击父视图中的单元格会实例化(导航到)弹出区域中的子视图。
- 同样的点击操作需要将一个对象从父视图传递到子视图,这样子视图才能根据该对象过滤自己的数据。
- 使用 Prism/MVVM 构建操作。
任何帮助、建议、指示、想法都会很棒。
【问题讨论】: