2012-02-23 140 views
2

我正在使用PRISM,我試圖獲取視圖,但函數GetView()返回null。如何從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會激活視圖類型的一個新實例(在你的情況下爲View1>),但是沒有辦法使用該技術爲視圖集合命名該實例。

要完成你想要做的事,你需要添加你自己的實例向的區域的圖

_regionManager.Regions["TopLeftRegion"].Add(new View1(),"ViewB"); 

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

的更多信息,可以發現here

相關問題