2011-01-21 82 views
1

問候 -多個視圖 - SL4中的一個ViewModel MVVM燈

我正在編寫一個應用程序,最終將需要兩個UI實現。第一個將是我們大多數客戶將使用的標準應用程序。第二個是我們最大的客戶要求我們爲他們設計的自定義實現。這不僅僅是交換樣式或皮膚...在某些情況下,我們對一個版本使用Accordion(真正的RadPanelBar),但將在另一個版本中使用TabControl。

因爲我使用的是EventToCommand,ViewModel代碼是相同的。我只是使用一個選項卡控件&一個RadPanelBar來建模,效果是一樣的......只需將我的EventToCommand連接到適當的控件,並且一切按預期工作。

我知道View to ViewModel關係通常是1:1。在我的場景中,我希望它是2:1,其中每個viewModel有2個關聯的視圖。每個應用程序需要約50個視圖,這意味着100視圖總數爲50個ViewModels。

第一個問題 - 可以這樣做嗎? 第二個問題 - 我在正確的軌道上? 第三個問題 - 對第一個問題給出「是」,實現如何工作?我是否需要在我的定位器中複製代碼以將ViewModel1與View1A和View1B連接起來?

感謝,

斯科特

回答

2

我認爲你的做法是正確的。

我認爲這真的很愚蠢,如果我們需要有2個虛擬機來完成同樣的事情。

1:1的情況是當你有views-vm做不同的事情不是爲同一件事的兩個表示。

如何做到這一點?您不必在定位器中複製代碼。只需將兩個視圖連接到DataContext屬性中的相同ViewModel(已位於Locator上)。

+0

沒錯。我一直這麼做。 – LBugnion 2011-01-22 08:56:22

相關問題