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

时间:2015-06-23 12:26:14

标签: c# navigation windows-phone-8.1

假设我们有一些Page PageA,我有一个按钮,点击后会执行以下操作:

Frame.NavigateTo(typeof(PageB));

用户完成操作后,他从PageB导航回PageA调用Frame.GoBack()

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

我可以使用:

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

但这只能告诉我,我正在向后航行,而不是我从PageB回来。

这甚至是一个很好的Windows-phone-guidelines方法(在文档中没有找到这个特殊情况)?

1 个答案:

答案 0 :(得分:5)

我认为您应该可以使用保存转发导航历史记录的Frame.ForwardStack属性来执行此操作。

应该有效的简短样本:

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