我正在使用Prism,我有一个视图,它将管理一些变量实体对象。
例如:现在我正在管理User
,但稍后我会使用相同的视图管理Customer
(我已经有了实现它的解决方案...... link 1 - link 2)。
我必须声明并传递要管理的对象(或对象类型)。
以一种常见的方式,我可以通过构造函数上的参数传递对象类型,但是当我使用Prism时,我不直接使用Views或ViewModels的构造函数。
以下是我目前如何“调用”我的观点的片段:
var regionManager = ServiceLocator.Current.GetInstance<IRegionManager>();
var viewUri = new Uri("MyGenericView", UriKind.Relative);
regionManager.RequestNavigate("AreaTrabalho", viewUri);
问题是:我无法传递参数。有没有办法传递该参数或另一种方法(没有一种丑陋的黑客攻击)?
答案 0 :(得分:0)
您可以在VM上实施INavigationAware
并在regionManager.RequestNavigate
调用中的查询字符串中传递参数