2011-10-26 85 views
0

我在PRISM,C#應用程序,我不知道如果我能做到以下幾點:擁有多個活動實例與PRISM

我已經在我機應用,它作爲我的導航底部的按鈕欄區。用戶可以點擊按鈕A,彈出模塊A的儀表板。

用戶單擊儀表板中的某個項目,然後他來到有關該項目的詳細信息頁面。他正在進行一些更改,但他在此過程中收到一封電子郵件。

他打開模塊B,使模塊B.新項目

- >有2個實例在那一刻開,模塊A的詳細信息頁面,我想模塊B的添加頁面用戶也可以看到這一點,因爲模塊A的按鈕上方會有一個「1」。

問題是,(我該怎麼辦)可以用PRISM來做到這一點。

tl; dr; PRISM是否支持多種實例化視圖? (這是「管理」開放的意見,所以你可以選擇哪個視圖打開。)

我試着用谷歌搜索這個,但我找不到任何相關的東西(可能是因爲我不知道如何調用這個,所以我不能搜索就可以了:/)

任何信息是非常讚賞,感謝您的時間。

回答

2

下面是關於如何工作出棱鏡,包括鏈接到MSDN的一個令人難以置信的有用的部分很短的介紹:

棱鏡具有regions,這是可以承載一個或多個其他控件控制的抽象(你的看法)。每個區域可以添加任意數量的視圖,並且每個區域中最多隻有一個視圖處於活動狀態。顯示視圖的方式(包括活動視圖的含義)取決於region adapter,該對象是由Prism根據每個區域的控制器類型自動創建的對象。

+0

嗨,喬恩,感謝您的鏈接,我絕對會檢查出來! –

0

添加到喬恩的職位。

您可能想要使用TabControl。如果您將PRISM的區域放入TABCOntrol中 - 您將能夠將所有實例視爲選項卡。

你可以看到像樣的樣品與對此處關閉標籤頁一些XAML: Menu service in Prism application CAL

因此,在「內部」 - PRISM將可以進行單視圖/的ViewModels如果你默認使用MEF出口。如果您將這些部件導出爲非共享--PRISM將在容器(MEF或Unity)中保留多個相同視圖的版本。但是,使用按鈕 - 你不會得到特定的實例。

因此,使用TabControl的集裝箱像這樣: Menu service in Prism application CAL

或者你也可以在那裏寫自己的區域適配器和跟蹤實例。