我正在学习WPF和MVVM,并试图强调良好的设计。我有很多有关WinForms和C#的经验。这是概念性的,所以我不认为我需要发布代码。WPF MVVM控件共享信息
我有一个管理“配置文件”的xaml窗口。左半部分是绑定到ViewModel的自定义Control树视图,该ViewModel读取数据库并创建一系列配置文件。各个配置文件的ViewModel包含一个数据库ID等等。右半部分是另一个自定义控件,带有一个ListView和它自己的ViewModel,用于读取个人配置文件信息的数据库。
这两个部分都可以独立工作,但现在我想将列表视图与树视图选择联系起来,以便列表视图中的信息反映树视图选择。做这个的最好方式是什么?
treeview viewmodel提供了一个配置文件ID,可用于在列表视图中查找配置文件信息。再次,目标是将这两者联系在一起。我觉得我有几个选择:
-treeview的viewmodel可以在listview viewmodel中调用一个静态方法来更新配置文件。
- 整个页面可能包含具有两个组件的成员视图模型的视图模型。
- 我可以以某种方式将treeviewss viewmodel的已知选定配置文件“路由”到xaml文件中的listview控件。
所有这些选项都很脏。再次我在这里学习,并且想要强调良好的设计,因为稍后这些小细节决定更大的决定。
和想法?
谢谢!
我不使用棱镜/ CAL,其实这是我第一次听说过它。正在使用它成为一种常见的趋势,我应该养成使用习惯...换句话说,我是否正在尝试学习基本的WPF安装结构和MVVM结构,进入一个受到伤害的世界? – bufferz 2009-11-17 17:27:33
它只是提供了一个非常好的框架来建立 - 继承人的MSDN文章... http://msdn.microsoft.com/en-us/magazine/cc785479。aspx 但是你真正想要做的就是下载并加载微软创建的StockTrader应用程序作为示例... http://www.microsoft.com/downloads/details.aspx?FamilyId=6DD3D0C1 -D5B4-453B-B827-98E162E1BD8D&displaylang = en 这将向您展示如何将事物放在一起,以及我如何开始使用WPD和MVVM。希望这有助于... – 2009-11-17 17:37:37
谢谢,安迪。我花了一点时间了解棱镜和它的内容。挖掘更深入,我使用和EventAggregator会完成我想要做的事情。这使我不仅仅是一行代码的普遍方向。感谢您的输入! – bufferz 2009-11-19 14:53:11