我已升级到MVVM Light 5,我改变了我的导航方法:
Messenger.Default.Send(new NavigateToPageMessage(){PageName =“UserDetailsPage”,Parameter = id});
以下内容:
_navigationService.NavigateTo(ViewModelLocator.UserDetailsPageKey,id);
我传递的参数似乎不再是视图的OnNavigatedTo事件,参数完全不同,我错过了什么?
修改
这个新方法似乎给了我需要的参数: GlobalNavigation.GetAndRemoveParameter(NavigationContext)
虽然现在,当应用程序被逻辑删除时,我完全丢失了该参数。之前,当应用程序恢复时,我仍然会在NavigatedTo args中拥有该参数,这允许我使用该ID重新命中服务器并获取新数据。为什么我失去了这种能力
答案 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);
}