我正在使用WPF Prism进行开发,我们希望将值从一个视图/视图模型传递到另一个视图/视图模型,我们可以使用EventAggregator或UriQuery,因此需要建议使用哪一个。
现在我们可以考虑传递像ID这样的简单参数。稍后我们必须传递对象,但我知道我不能直接将对象传递给uri查询但我们可以管理它但是传递字段。
我知道如何实现这些,但想知道哪一个是Prism和MVVM中的首选方式或标准。
请建议
答案 0 :(得分:1)
这两种方法工作。
,这很大程度上取决于品味我保留UriQuery
用于涉及有效负载的导航。这是UriQuery discussed in the prism documentation的情况。我不喜欢它们因为它们使用弱类型数据 - 在这种情况下是字符串。你必须序列化和反序列化。对于复杂数据,这很容易出错。
聚合事件允许您在发布事件时传递Argument对象。您不必序列化和反序列化查询,但您需要一个公共库来定义参数类。