Wpf 在页面之间传递单个DataContext实例

Wpf 在页面之间传递单个DataContext实例,wpf,mvvm,viewmodel,datacontext,Wpf,Mvvm,Viewmodel,Datacontext,我正在使用MVVM开发WPFXBAP应用程序。我想在两个页面之间传递ViewModel的一个实例作为DataContext,用户可以在其中来回导航 我有一些问题,我只是想知道是否有人能证实这是否真的可行 我看过很多类似的文章,但没有一篇文章符合我的问题,所以我要重申,不是两个视图创建了自己的ViewModel实例作为DataContext,而是两个视图共享一个实例 非常感谢 大卫嗯,是的。只需为两个视图指定与DataContext相同的对象。您遇到问题了吗?我有一个telerik:GridVie

我正在使用MVVM开发WPFXBAP应用程序。我想在两个页面之间传递ViewModel的一个实例作为DataContext,用户可以在其中来回导航

我有一些问题,我只是想知道是否有人能证实这是否真的可行

我看过很多类似的文章,但没有一篇文章符合我的问题,所以我要重申,不是两个视图创建了自己的ViewModel实例作为DataContext,而是两个视图共享一个实例

非常感谢


大卫

嗯,是的。只需为两个视图指定与DataContext相同的对象。您遇到问题了吗?我有一个telerik:GridViewComboBoxColumn绑定到两个视图中的同一个属性,并且由于某种原因view 2无法加载ItemsSource。我只是确认这是可以做到的。一定是另外一回事,但就我个人而言,我无法解决。是的,根据Zak的评论,您可以通过在顶级(父级)视图中声明dataContext来轻松实现这一点,该视图包含您想要的两个视图。假设它们位于同一逻辑树中,两个视图将自动具有与父视图相同的datacontext。如果没有,您也可以在每个视图上引用父视图的datacontext(类似于,我只是阅读了您的注释。因此,假设您正确设置了datacontext(如我上面的注释所示)然后检查您的绑定是否正确设置。如果方便的话,请为我们发布xaml。另外,您是否检查了这两个视图中常见的任何其他属性?它们是否有效?干杯,伙计们,我已经成功地实现了这一点。当我在第二个视图被选中后在ViewModel中进行了不相关的更改时,组合框将不会加载,但是当我在调用第二视图之前做了相同的更改时,一切都正常。这对我来说是个谜,谢谢你的输入。