如何在不知道类型的情况下添加区域而不激活它

时间:2018-04-10 21:27:16

标签: wpf prism prism-6

当您想要使用字符串导航到区域并立即使其成为活动视图时,

RequestNavigate(uri)很不错。但是如果你想在没有激活区域的情况下添加区域呢?有没有办法用字符串做到这一点?

我有一个视图模型,需要动态地向对接控件添加一些视图。添加这些视图时不应激活这些视图。使用Region.Add添加区域有效,但我必须给它一个类型:

RegionManager.Regions[KnownRegionNames.DockingRegion].Add(typeof(MyView));

我觉得这违反了一些MVVM原则,使ViewModel完全独立于视图。这不是很糟糕,因为我可以在测试中嘲笑区域经理,但还有另一种方法吗?

1 个答案:

答案 0 :(得分:0)

您必须以某种方式通过类型或字符串识别要添加到您所在地区的视图。

您可以使用字符串从容器中解析它(基本上是区域管理器所做的),并将已解析的视图添加到该区域。