我正在开发一个相当简单的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