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(); }

 

posted @ 2021-06-17 13:26  cbaa  阅读(116)  评论(0编辑  收藏  举报