【发布时间】:2009-11-17 15:01:58
【问题描述】:
我正在学习 WPF 和 MVVM,并试图强调良好的设计。我在 WinForms 和 C# 方面有很多经验。这是概念性的,所以我认为我不需要发布代码。
我有一个管理“配置文件”的 xaml 窗口。左半部分是绑定到 ViewModel 的自定义控件树视图,该视图模型读取数据库并创建配置文件的层次结构。各个配置文件的 ViewModel 包含一个数据库 ID。右半部分是另一个自定义控件,带有一个 ListView 和它自己的 ViewModel,它可以读取数据库中的各个 Profile 信息。
两半独立工作正常,但现在我想将树视图选择与列表视图联系起来,以便列表视图中的信息反映树视图选择。最好的方法是什么?
树视图视图模型提供了一个配置文件 ID,可用于在列表视图中查找配置文件信息。同样,目标是将这两者联系在一起。我觉得我有几个选择:
-树视图的视图模型可以调用列表视图视图模型中的静态方法来更新配置文件。
-整个页面可以包含一个视图模型,该视图模型具有两个组件的成员视图模型。
-我可以以某种方式将 treeviewss 视图模型的已知选定配置文件“路由”到 xaml 文件中的 listview 控件。
所有这些选项都感觉很脏。我再次在这里学习,并想强调好的设计,因为这些小细节决定了以后更大的决定。
还有什么想法?
谢谢!
【问题讨论】: