MVVM - 带有预览视图(共享视图模型)方法的菜单视图

MVVM - Menu View with Preview View (Shared ViewModel) approach

我刚刚开始我的 MVVM 和 WPF 之旅,我需要一个建议来解决我的问题,或者指导我找到正确的解决方案。

Link 图片:https://s12.postimg.org/md0h6fv3x/Simple_App.png

描述(我想要实现的):

实现该目标的最简单、最干净的方法是什么?

  1. 我正在考虑与视图 A 和 B 共享同一个 ViewModel。 在ViewModel中创建一个SelectedItem属性,然后将其放入MainWindow的资源中,并将datacontext绑定到View A & B

    • 这是有效的方法吗?如果该 VM 发生更改,是否会在两个视图中正确更新?
  2. 以某种方式将 View 的 A 列表框 SelectedItem 绑定到 View B 预览模式,但不知道如何。

  1. 只用一个ViewModel。 例如;伪代码:

    public class ViewModel : INotifyPropertyChanged
    {
      public ObservableCollection<Employee>{get;}          
    
      /* provide change notification in ChosenItem */
      public Employee ChosenItem{get;set;}
    }
    
  2. 对两个视图使用此 ViewModel as DataContext