我有一个使用WPF/Entity Framework(4.0)的项目,其中包含许多对象。我想构建应用程序,以便可以在视图模型之间共享对象选择状态。
例如:我们有Cars、Drivers、Passengers和Cargo类。还有CarList、DriverList等的用户控件和CarEditor、DriverEditor等的编辑器窗口。此外,我们为所有这些都有视图模型(例如CarListViewModel、DriverListViewModel、CargoEditorViewModel等)。这些组成了一个可停靠的界面,在该界面中,用户可以打开多个对象列表、编辑器和查看器。
我想要的是一个具体的代码示例,演示如何将多个视图模型连接起来,以便在CarList中选择一辆汽车会导致该汽车在CarEditorView中实时显示,并在任何其他上下文有效的视图中被选中(例如DriverByCarView-或者只是DriverList如果有过滤谓词)。
根据这个问题,有很多建议和讨论。似乎支配的两种方法是:
这两种方法中有哪一种更好呢?
是否有任何具体的示例,以编写或创建小代码项目的形式展示这两种方法?
我还在学习WPF,因此欢迎提供阅读API基础知识的入门点,但是我通常会去查看代码示例。
谢谢
如果有人感兴趣,这里还有一些其他类似的讨论: