Предполагаю, что вы имеете в виду, что у вас есть страница в Back-stack, которую вы хотите удалить -
В новом Mango SDK есть метод, который вы можете попробовать NavigationService.RemoveBackEntry
Однако может быть проще просто использовать логическое значение и зарегистрироваться OnNavigatedTo
:
На странице, на которую нужно вернуться> 1 страниц:
в App.xaml.cs:
public static bool IsBackwardNavigation = false;
public static string PageContext = string.Empty;
Page2.xaml.cs
:
public void YourFunction()
{
App.PageContext = "MainPage";
App.IsBackwardNavigation = true;
if (NavigationService.CanGoBack)
NavigationService.GoBack();
}
И на каждой странице OnNavigatedTo
:
Page1.xaml.cs:
string Page1 = "Page1";
protected override void OnNavigatedTo(object sender, NavigationEventArgs e)
{
if (App.IsBackwardNavigation)
{
if (!Page1.Equals(App.NavigationContext)
{
//since this page's name is not the correct page, the page will go back again.
if (NavigationService.CanGoBack)
NavigationService.GoBack();
}
else
{
//this is the page we're trying to get to
App.IsBackwardNavigation = false;
App.NavigationContext = string.Empty;
}
}
}
}