如何在 Frame.GoBack() 上获取有关上一页的信息

How to get info about previous page on Frame.GoBack()

假设我们有一些 Page 页面 A,我有一个按钮,单击该按钮时会执行以下操作:

Frame.NavigateTo(typeof(PageB));

用户完成操作后,他从页面 B 导航回页面 A 调用 Frame.GoBack()

我希望能够确定我正在从 PageB

返回

我可以使用:

protected override void OnNavigatedTo(NavigationEventArgs e)
{
    e.NavigationMode
}

但这只告诉我我正在返回,而不是我正在从 PageB 返回。

这甚至是一个好的 windows-phone- 指南方法(在文档中没有找到这种特殊情况)?

我认为你应该能够通过使用 Frame.ForwardStack 属性 来完成它,它保存了向前的导航历史。

一个应该有效的简短示例:

protected override void OnNavigatedTo(NavigationEventArgs e)
{
    var lastPage = Frame.ForwardStack.LastOrDefault();
    if (lastPage != null && lastPage.SourcePageType.Equals(typeof(desiredPage)))
        { /* do something */ }
}