2012-02-23 2 views
2

PRISM을 사용하고 있는데 뷰를 가져 오려고하지만 null을 반환합니다. GetView().PRISM의 지역에서 시야를 얻는 방법?

내가 뭘 잘못하고 있니?

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

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

답변

5

null을 반환하는 이유는 "ViewB"라는 이름의 뷰가 없기 때문입니다. RegisterViewWithRegion을 사용하면 Prism이 뷰 유형의 새 인스턴스 (보기 1>)를 활성화하지만 해당 기술을 사용하여 뷰 컬렉션의 해당 인스턴스 이름을 지정할 방법이 없습니다

원하는 작업을 수행하려면 , 당신은 당신이 지역에 자신에게의 인스턴스를 볼 수 를 추가해야합니다.

더 많은 정보를 찾을 수 있습니다

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

관련 문제