【问题标题】:How to add a region without knowing the type and without activating it如何在不知道类型且不激活它的情况下添加区域
【发布时间】:2018-09-20 15:10:03
【问题描述】:

RequestNavigate(uri) 在您想使用字符串导航到区域并立即使其成为活动视图时非常有用。但是,如果您想添加一个区域而不激活它怎么办?有没有办法用字符串做到这一点?

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

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

我觉得这违反了一些使 ViewModel 完全独立于视图的 MVVM 原则。这并不是绝对可怕,因为我可能可以在测试中嘲笑区域经理,但是还有其他方法吗?

【问题讨论】:

    标签: wpf prism prism-6


    【解决方案1】:

    您必须以某种方式确定要添加到您的区域的视图,无论是按类型还是按字符串。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-11-01
      • 2012-09-19
      • 2016-05-18
      • 2013-03-05
      • 1970-01-01
      • 2013-05-21
      • 1970-01-01
      相关资源
      最近更新 更多