正如该方法的名称RootFrame.GoBack();
已经说明的那样,它只能用于在导航堆栈上导航一页。
您可以在这里执行以下操作:
private void Cancel()
{
// Delete "Selection View" from the navigation stack
NavigationService.RemoveBackEntry();
// Navigate back to the MainPage
NavigationService.Navigate(new Uri("/MainPage.xaml?clear=true", UriKind.Relative));
}
在主页上,您现在可以查询 OnNavigatedTo 方法中的clear参数。如果它是真的再次调用NavigationService.RemoveBackEntry();
从堆栈中删除“添加新项目”页面(您从中导航):
protected override async void OnNavigatedTo(NavigationEventArgs e)
{
base.OnNavigatedTo(e);
string clearParam;
if (NavigationContext.QueryString.TryGetValue("clear", out clearParam))
{
if (Convert.ToBoolean(clearParam))
{
// Delete "Add New Item" from the navigation stack
NavigationService.RemoveBackEntry();
}
}
}
通过从导航堆栈中删除页面,您在返回 MainPage 时无法通过 Back Button 导航回任何其他视图。这是你需要的吗?
请告诉我,这是否对您有用。祝你好运!