我正在開發一個相當簡單的WPF應用程序來顯示對象層次結構和所選對象的詳細信息,UserControl
在左窗格(樹形控件)中包含TreeView
,並且另一個UserControl
在右側包裝ListView
/GridView
(細節控制)。MVVM中的ViewModels適合多少
樹控件使用MVVM後面的this Josh Smith article相當接近,並且有許多ViewModel類型都來源於相同的基類型TreeViewModel
。主窗口使用MainWindowViewModel
設置,如this Josh Smith article,並公開用於填充第一代樹控件的TreeViewModel
。
然而,當我要填充的詳細信息窗格的權利,我有樹控制的SelectedItem
從TreeViewModel
衍生當我需要一個完全不同類型的視圖模型爲詳細信息窗格中,將擴大問題使用反射將對象映射到屬性/值的表中。
所以,問題:
是否適合
MainWindowViewModel
揭露TreeViewModel
爲樹控制?我相信這裏的答案是肯定的,但我願意接受相反的建議。樹控件中的所選項應該如何適應詳細信息窗格的正確ViewModel類型?一種選擇似乎是,
MainWindowViewModel
跟蹤樹中選定的項目並進行適應,將其作爲另一個屬性公開,但我不確定是否有更好的解決方案。
我是新來WPF和MVVM模式,所以請原諒這個問題的基本性質。我花了一些時間閱讀模式的背景,看了一些示例應用程序等,但我無法找到足夠具體的東西讓我對自己的答案充滿信心。我也意識到MVVM對於一個應用程序來說可能過於簡單,但我將它部分用作學習練習。
希望得到一些答案的答案以確認答案......但看起來沒有任何答案即將出現,所以我會接受這個,因爲這是我所做的。 – 2010-11-29 12:16:38