在Silverlight中使用导航服务时设置视图的ViewModel

在Silverlight中使用导航服务时设置视图的ViewModel,silverlight,mvvm,navigationservice,Silverlight,Mvvm,Navigationservice,我很难找到如何创建视图模型实例并将其设置为使用Silverlight导航框架导航到的视图模型 例如,如果我有一个具有视图模型的列表视图,我希望列表视图使用导航服务导航到详细信息视图,并将详细信息视图的视图模型设置为列表视图正在使用的视图模型的同一实例 根据我的阅读和理解,使用Navigate方法时无法传递数据。并且navigate方法不返回将被导航到的视图的实例 所以我的问题是。。。使用.Navigate(URI)将silverlight应用程序导航到详细视图后,如何在离开列表视图之前将详细视图

我很难找到如何创建视图模型实例并将其设置为使用Silverlight导航框架导航到的视图模型

例如,如果我有一个具有视图模型的列表视图,我希望列表视图使用导航服务导航到详细信息视图,并将详细信息视图的视图模型设置为列表视图正在使用的视图模型的同一实例

根据我的阅读和理解,使用Navigate方法时无法传递数据。并且navigate方法不返回将被导航到的视图的实例


所以我的问题是。。。使用.Navigate(URI)将silverlight应用程序导航到详细视图后,如何在离开列表视图之前将详细视图的viewmodel设置为列表视图中的实例

首先,您的陈述“根据我的阅读和理解,使用导航方法时无法传递数据”是不正确的。您可以通过参数传递简单的数据值

还可以使用导航框架在视图之间共享datacontext。查看这篇SL3文章:


您可以使用查询字符串将参数传递给要导航到的视图,然后使用这些参数创建ViewModel

下面是一个示例,演示如何在Silverlight导航中使用查询字符串参数