WPF中不同视图的主控详图

WPF中不同视图的主控详图,wpf,mvvm,prism,Wpf,Mvvm,Prism,如果我将主视图和详细视图放在同一个视图中,我可以让主视图和详细视图工作得很好。但是,我希望能够根据用户安全性定制详细的演示文稿。因此,我使用与后端相同的viewmodel将细节部分移动到单独的视图中。现在,当选择新的主记录时,详细信息不会正确更新。如果两个视图使用同一个viewmodel,这是否可以正常工作?就像我说的,当代码在同一个视图中组合在一起时,它工作正常 详细信息XAML: <ListView x:Name="DoctorOfficesList" Gr

如果我将主视图和详细视图放在同一个视图中,我可以让主视图和详细视图工作得很好。但是,我希望能够根据用户安全性定制详细的演示文稿。因此,我使用与后端相同的viewmodel将细节部分移动到单独的视图中。现在,当选择新的主记录时,详细信息不会正确更新。如果两个视图使用同一个viewmodel,这是否可以正常工作?就像我说的,当代码在同一个视图中组合在一起时,它工作正常

详细信息XAML:

<ListView x:Name="DoctorOfficesList"
              Grid.Column="1"
              Background="black"
              HorizontalContentAlignment="Stretch"
              IsSynchronizedWithCurrentItem="True"
              ItemsSource="{Binding Path=SelectedDoctor.DoctorOfficesCollection}"
              ItemTemplate="{StaticResource DoctorOfficesListTemplate}">
    </ListView>

主XAML:

<ListBox x:Name="DoctorHeaderList"
             Grid.Column="0"
             MinWidth="200"
             MaxWidth="300"
             Margin="0,0,2,0"
             Background="black"
             ItemsSource="{Binding Path=DoctorsList}"
             SelectedItem="{Binding Path=SelectedDoctor}"
             IsSynchronizedWithCurrentItem="True"
             ItemTemplate="{StaticResource DoctorsListTemplate}"
             ScrollViewer.HorizontalScrollBarVisibility="Hidden">
    </ListBox>

我已经尝试了几种方法来实现这一点。当列表框位于同一视图中时,所有场景都可以工作。当分开移动时,它们停止。如果重要的话,我也在使用PRISMv2


我想我的具体问题是,我该如何让它发挥作用?我真的需要活动吗?我认为,由于它们绑定到同一个VM,这将是一个简单的过程。

您确定两个视图都使用相同的视图模型实例吗?我偶尔在视图模型中实现一个属性,该属性公开
GetHashCode()
的结果,并在视图中将
TextBlock
绑定到该属性,只是为了再次检查应该绑定到同一实例的两个对象是否实际存在。

只需确定:1)是否正确指定了datacontext?2) 您是否尝试过使用事件调试此文件?(检查SelectedDoctor是否存在,等等)3)输出窗口中是否存在任何绑定异常?是的,如我所说,如果我将detailsview代码移动到headerview中,它会正常工作。只有当我试着把它们分开的时候。是的,选定的医生存在…如上所述…xaml中没有任何更改,除了它在物理上的位置…没有绑定例外我会尝试,viewmodel正在由unity注入,我想我将其作为ConatinerControlled生命周期,但我现在肯定会检查一下…谢谢。我没有在ioc容器中注册默认的viewmodel…我现在已经注册了,并且可以正常工作了…谢谢你的帮助!