假设我们有一些Page
PageA,我有一个按钮,点击后会执行以下操作:
Frame.NavigateTo(typeof(PageB));
用户完成操作后,他从PageB导航回PageA调用Frame.GoBack()
我希望能够确定我正在从PageB 导航
我可以使用:
protected override void OnNavigatedTo(NavigationEventArgs e)
{
e.NavigationMode
}
但这只能告诉我,我正在向后航行,而不是我从PageB回来。
这甚至是一个很好的Windows-phone-guidelines方法(在文档中没有找到这个特殊情况)?
答案 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 */ }
}