如何在 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 */ }
}
假设我们有一些 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 */ }
}