2010-02-08 66 views
3

我試着去學習MVVM到目前爲止它去好了,我有,我不知道如何實現的情況下蹣跚..MVVM多個視圖

我想要什麼: - 左導航視圖右側詳細信息窗格中右鍵..細節將有contentcontainer對由左窗格中

被選中的意見我有什麼將舉行我的用戶控件: - 一個MainViewModel - 的ViewModels爲每個我對實體的我數據庫

我的問題: - 因爲我將在我的MAINVIEWMODEL中使用VIEWMODELS的ObservableCollection(根據示例我構圖我的應用程序)是否爲我的每個模型實體創建一個公共屬性,這些屬性將用於我在數據綁定中定義的UserControls?

回答

5

您可以爲所有的ViewModels的基本類型將被顯示在右側。(讓我們稱之爲隨着BaseContentViewModel) 那麼你的左側列表框將結合ObservableCollection<BaseContentViewModel>和ListBox的的SelectedValue會綁定到新的MainViewModel.SelectedContent proeprty的類型BaseContentViewModel

而且在右側你需要有一個ContentControl中到SelectedContent結合ContentControl.Content

現在它只是一個定義不同的用戶控件作爲資源XAMLs的DataTemplates的(事情通常指作爲MVVM中的ViewToViewModelMapping)

2

查看John Papa的PDC講座「使用Microsoft Silverlight構建大型應用程序的高級主題」。其中他闡述了一種管理具有多個MVVM三元組的應用程序的方法。