Вы можете использовать эту функцию, которую я написал некоторое время назад.
public static async Task PopUntilDestination(Type DestinationPage, INavigation nav)
{
int LeastFoundIndex = 0;
int PagesToRemove = 0;
for (int index = MasterPageInstance.Detail.Navigation.NavigationStack.Count - 2; index > 0; index--)
{
if (MasterPageInstance.Detail.Navigation.NavigationStack[index].GetType().Equals(DestinationPage))
{
break;
}
else
{
LeastFoundIndex = index;
PagesToRemove++;
}
}
for (int index = 0; index < PagesToRemove; index++)
{
nav.RemovePage(MasterPageInstance.Detail.Navigation.NavigationStack[LeastFoundIndex]);
}
await nav.PopAsync();
}
и использовать ее просто
PopUntilDestination(typeof(Page2), Navigation);
Надеюсь, это поможет.