【问题标题】:How to get the view from a region in PRISM?如何从 PRISM 中的某个区域获取视图?
【发布时间】:2012-03-13 10:07:49
【问题描述】:

我正在使用 PRISM,我正在尝试获取视图,但函数 GetView() 返回 null。

我做错了什么?

    public void Initialize()
    {
        _regionManager.RegisterViewWithRegion("TopLeftRegion", () => _container.Resolve<View1>());
        _container.RegisterType<Object, View1>("ViewB");

        var view = _regionManager.Regions["TopLeftRegion"].GetView("ViewB");
    }

【问题讨论】:

    标签: c# module prism ioc-container region


    【解决方案1】:

    它返回 null 的原因是没有名为“ViewB”的视图。当您使用 RegisterViewWithRegion 时,Prism 会激活视图类型的新实例(在您的情况下为 View1>。但是,无法使用该技术为视图集合命名该实例。

    要完成您想做的事情,您需要向区域添加一个您自己实例化的视图

    _regionManager.Regions["TopLeftRegion"].Add(new View1(),"ViewB");
    
    var view = _regionManager.Regions["TopLeftRegion"].GetView("ViewB");
    

    更多信息可以找到here

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-09-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-27
      • 1970-01-01
      相关资源
      最近更新 更多