2011-01-12 58 views
7

我正在開發一個當前使用Prism和MEF的應用程序。每個模塊的菜單項,模塊內容用Prism或MEF動態加載

我想理想地爲每個模塊生成一個帶有項目的工具欄或菜單,並且當單擊某個項目時,只有在該模塊內聲明的視圖才加載到選項卡控件中。

例如:

菜單地區: ModuleA(選擇)| ModuleB

Tab Region: ModuleAViewA | ModuleAViewB | ModuleAViewC

更改爲 菜單區域: 僱員|庫存(已選)

Tab Region: 物品|在Fi

回答

11

在這裏有很多類似的問題。通常,您將採取的方法是在模塊可引用的基礎結構DLL中定義服務。您的模塊將通過服務添加菜單/工具欄/功能區項目/任何對象。服務的實施取決於你 - 它可以在殼牌項目,基礎設施或單獨的模塊中。顯然,如果它在一個單獨的模塊中,你必須確保你的其他模塊將它定義爲一個依賴項。

你可能想看看以下內容:

這其中有一個鏈接到一個項目展示動態菜單: Looking for Prism example of Modules loading themselves into a menu

在我問一個關於如何建立一個動態菜單問題: How to dynamically add MenuItems (with a header) to a WPF menu

更多.... Load Module Default Views In Region to Create Menu

還有更多! Menu service in Prism application CAL

你可以在這裏找到更多。這是一個相當普遍的要求;我相信你可以從這裏的代碼樣本中拼湊出一個很好的方法來做到這一點。

+0

感謝您指點我正確的方向。我做了一些搜索,但沒有發現任何簡潔的內容。 – digiteknique

+0

非常翔實的謝謝。 –