MVVM Light 5 - 导航服务传递错误的参数

时间:2014-11-01 21:10:29

标签: mvvm-light

我已升级到MVVM Light 5,我改变了我的导航方法:

Messenger.Default.Send(new NavigateToPageMes​​sage(){PageName =“UserDetailsPage”,Parameter = id});

以下内容:

_navigationService.NavigateTo(ViewModelLocator.UserDetailsPageKey,id);

我传递的参数似乎不再是视图的OnNavigatedTo事件,参数完全不同,我错过了什么?

修改

这个新方法似乎给了我需要的参数: GlobalNavigation.GetAndRemoveParameter(NavigationContext)

虽然现在,当应用程序被逻辑删除时,我完全丢失了该参数。之前,当应用程序恢复时,我仍然会在NavigatedTo args中拥有该参数,这允许我使用该ID重新命中服务器并获取新数据。为什么我失去了这种能力

1 个答案:

答案 0 :(得分:1)

使用此

protected override void OnNavigatedTo(NavigationEventArgs e)
{
   GalaSoft.MvvmLight.Views.NavigationService navigationService = new GalaSoft.MvvmLight.Views.NavigationService();
   var param = navigationService.GetAndRemoveParameter(this.NavigationContext);
   base.OnNavigatedTo(e);
}