我正在使用 PRISM 并尝试获取 View ,但函数 GetView()
返回 null。
我做错了什么?
public void Initialize()
{
_regionManager.RegisterViewWithRegion("TopLeftRegion", () => _container.Resolve<View1>());
_container.RegisterType<Object, View1>("ViewB");
var view = _regionManager.Regions["TopLeftRegion"].GetView("ViewB");
}
最佳答案
它返回 null 的原因是没有名为“ViewB”的 View 。当您使用 RegisterViewWithRegion 时,Prism 会激活 View 类型的新实例(在您的情况下为 View1>。但是,无法使用该技术为 View 集合命名该实例。
要完成您想要做的事情,您需要向该区域添加一个您自己实例化的 View 。
_regionManager.Regions["TopLeftRegion"].Add(new View1(),"ViewB");
var view = _regionManager.Regions["TopLeftRegion"].GetView("ViewB");
可以找到更多信息here
关于c# - 如何从 PRISM 中的区域获取 View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9405659/