Prism Sample 24-NavigationJournal
本例是在上一案例中导航参数的基础上增加了导航的历史记录功能,就是向前向后的功能。
导航本身很简单,以下代码就实现了:
public void OnNavigatedTo(NavigationContext navigationContext) { _journal = navigationContext.NavigationService.Journal; } private void GoBack() { _journal.GoBack(); }
在导航上下文中,NavigationContext就保存了导航服务,服务中包括了历史记录。只要调用相关方法就可以。但是有些视图是带有参数的,那么需要同样记得当前所用参数,然后一并重新打开。
比较完整的代码:
public void OnNavigatedTo(NavigationContext navigationContext) { _journal = navigationContext.NavigationService.Journal; var person = navigationContext.Parameters["person"] as Person; if (person != null) SelectedPerson = person;
}
private void GoBack() { _journal.GoBack(); }