我正在使用PRISM而我正在尝试获取视图,但返回null函数GetView()
。
我做错了什么?
public void Initialize()
{
_regionManager.RegisterViewWithRegion("TopLeftRegion", () => _container.Resolve<View1>());
_container.RegisterType<Object, View1>("ViewB");
var view = _regionManager.Regions["TopLeftRegion"].GetView("ViewB");
}
答案 0 :(得分:5)
返回null的原因是因为没有名为“ViewB”的视图。当您使用RegisterViewWithRegion时,Prism会激活视图类型的新实例(在您的情况下为View1&gt;。但是,无法使用该技术为该视图集合命名该实例。
要完成您想要做的事情,您需要添加一个您自己实例化的视图。
_regionManager.Regions["TopLeftRegion"].Add(new View1(),"ViewB");
var view = _regionManager.Regions["TopLeftRegion"].GetView("ViewB");
可以找到更多信息here