【发布时间】:2016-10-20 13:49:33
【问题描述】:
我刚刚开始我的 MVVM 和 WPF 之旅,我需要一个建议来解决我的问题,或者指导我找到正确的解决方案。
图片链接:https://s12.postimg.org/md0h6fv3x/Simple_App.png
描述(我想要达到的目标):
-
View A 是一个带有 ListBox 和 DataContext 的菜单(UserControl):V.ObservableCollection
-
视图 B 是视图 A 列表框中所选项目的预览
-
视图 A 和 B 从 MainWindow 加载
实现这一目标的最简单和最干净的方法是什么?
-
我正在考虑与 View A&B 共享同一个 ViewModel。 在 ViewModel 中创建一个 SelectedItem 属性,然后将其放入 MainWindow 的资源中,并将 datacontext 绑定到 View A & B
- 这是有效的方法吗?如果该虚拟机发生更改,是否会在两个视图中正确更新?
-
以某种方式将 View 的 A 列表框 SelectedItem 绑定到 View B 预览模式,但不知道如何。
【问题讨论】:
-
MainWindowViewModel 引用绑定在顶层窗口级别的所有 VM。
标签: wpf mvvm listbox viewmodel datacontext