2011-11-18 47 views
1

我是新來的棱鏡與windsor容器和windsorboot strapper。我正在嘗試在我的shell中註冊我的區域,並嘗試從我的模塊項目(這是一個類自由派)向該區域添加視圖。但我從我的模塊類得到以下excption同時初始化:RegionManager例外地區未找到

「這RegionManager不包含名爲‘MainRegion’區域 參數名:regionName」

而且波紋管是我的代碼在shell中爲我的區域編寫代碼並註冊視圖。

殼牌Xaml創建區域

xmlns:Regions="clr-namespace:Microsoft.Practices.Prism.Regions;assembly=Microsoft.Practices.Prism" 

<ContentControl x:Name="MainRegion" 
Regions:RegionManager.RegionName="MainRegion"/> 

中註冊Module.cs類視圖而模塊的初始化:

regionManager.AddToRegion("MainRegion", container.Resolve<myview>()); 

任何一個可以建議我,爲什麼我沒有在模塊接收我區在容器方面我使用windsorcontainer。 Thaks。

Raza

回答

5

很可能是因爲包含該區域的視圖尚未顯示。僅當包含區域的視圖被加載時,該區域纔會在RegionManager中註冊。

爲了解決這個問題,而不是調用AddToRegion,調用RegisterViewWithRegion,需要一個委託獲得的觀點:

regionManager.RegisterViewWithRegion("MainRegion",() => container.Resolve()); 
+0

帕夫洛由於是其現在的工作。 – Raza

+0

@Raza - 不客氣。您可以通過點擊左側的複選標記來接受我的答案。 –