【发布时间】:2017-06-05 04:07:30
【问题描述】:
我有班级,A、B、C、D
A 引用了 E 和 B 以及 C 和 D 的列表。
在 AViewModel 中,这些被暴露在树中。
A 的视图如图所示。
当一个节点被选中时,应该显示一个对应的视图。
有 E、B、C 和 D 的 ViewModel
我的问题如下:
例如 E 是选定的节点。我将它作为“对象 SelectedItem”存储在 AViewModel 中。 以松散耦合的方式创建 EViewModel 的最佳方法是什么,这样我就不想在 AViewModel 中引用 EViewModel。
更新:
我正在考虑一种解决方案,但在其他地方我从未见过:
例如,我只能从 AViewModel 公开我的 POCO(B、C、D、E)。在 XAML 中,我可以将 ContentControl 直接绑定到这些对象。使用转换器,当我绑定到 B 等时,我可以拥有一个 BViewModel。
【问题讨论】:
-
能否请您发布您的 xaml,这样我们就不必重新发明轮子了?
标签: wpf mvvm loose-coupling