2010-01-30 53 views
1

我們有多個基於WPF中MS Prism的項目解決方案。爲了便於理解,讓我們有項目shell和項目usercontrol。 usercontrol項目對於各種功能有許多視圖。我們在shell工程中有一個彈出窗口,它在主窗口窗口中調用,我想要的是根據需要將不同的視圖加載到彈出窗口區域管理器中。任何通過流程解釋或代碼示例的幫助/建議都將非常可觀。

問候WPF Prism - 在彈出窗口中動態加載視圖

+0

您能否詳細說明「根據要求」。在另一個視圖中顯示註冊視圖很容易使用區域,但是我覺得「基於需求」的評論可能會使事情稍微複雜一些。 – 2010-02-01 17:01:11

+0

「基於需求」 - >我們有一個主外殼窗口和另一個我們打算用作彈出窗口(例如過濾網格,或者從網格中的選項中選擇/插入數據)的窗口。這個彈出窗口有一個在其中定義的區域,我們想要顯示/加載區域中的不同視圖「基於需求:)」,即根據需要的選項 – 2010-02-03 05:12:12

回答

1

使用依賴注入容器(如Unity這也可以從CompositeWPF Microsoft page獲得的),你就可以到周圍的IRegionManager一個實例傳遞給你的各種模塊/彈出窗口。 ..

例如,在視圖中要注入另一種觀點認爲到,你可以有一個名爲ItemsControl的:

<ItemsControl cal:RegionManager.RegionName="Modules" /> 

當您自定義視圖填滿它,你就必須從做碼是:

_regionManager.Regions["Modules"].Add(view); 

(其中_regionManager可能是通過依賴注入填充到它在類的構造函數實例變量)。不要擔心在容器中註冊接口IRegionManager,這是在配置期間由UnityBootstrapper完成的。

2

您可以使用自帶的棱鏡-V2 RIPopupRegionBehavior達到你正在嘗試處於分離的方式做。你可以閱讀更多關於它here

請讓我知道這是否有幫助。

謝謝, 達米安