用Prism管理一些通用变量对象的视图

时间:2012-01-24 18:37:00

标签: wpf prism

我正在使用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);

问题是:我无法传递参数。有没有办法传递该参数或另一种方法(没有一种丑陋的黑客攻击)?

1 个答案:

答案 0 :(得分:0)

您可以在VM上实施INavigationAware并在regionManager.RequestNavigate调用中的查询字符串中传递参数