【发布时间】:2015-08-08 19:09:29
【问题描述】:
例如,我有一个主窗口,上面有一个框架,它绑定到我拥有的所有用户控件的模型。
示例:(基本个人信息)
我有一个用户控件或(view-1)显示我的个人信息数据库中的单个人。
而且我还有一个用户控件或 (view-2) 可以显示我的数据库中的所有人员列表。
问题是我如何从 (view-2) 到 (view-1) 获取单个人的 ID,因为它们也是不同的用户控件和不同的视图模型。
这种情况的最佳方法是什么? TIA。
【问题讨论】:
-
到目前为止您尝试过什么?你遇到过依赖注入和事件聚合器吗?
-
你真的需要两个不同的 ViewModel 类吗?从您问题中的信息来看,我还认为让一个 ViewModel 包含一个属性来拥有人员列表和所选人员的属性是合适的。两个视图可以使用相同的 ViewModel 实例。
-
只是为了为每个视图清晰地分离视图模型。我只是在想,在源代码管理方面,为每个视图设置一个视图模型将是一种很好的方式,易于阅读和维护。只是一个想法。你怎么看?
-
如果您有特定于一个或另一个视图的命令并且在 ViewModel 中处理,那么您是正确的。在这种情况下,可能会将跟踪所选人员的责任委托给模型。并将相同的模型注入到 ViewModel 类中。这可以通过服务于 MainWindow 的 ViewModel 来完成。
-
我可以从我的用户控件访问我的 MainWindowViewModel 的模型吗?
标签: c# wpf mvvm user-controls