Внутри страницы «D» переопределите «OnBackButtonPressed», а внутри функции переберите страницы, которые вам больше не нужны, и удалите их одну за другой.
Псевдокод:
protected override bool OnBackButtonPressed()
{
foreach (var page in Navigation.NavigationStack)
{
//find the pages you want to remove
Navigation.RemovePage(PageYouFound);
}
//Set new page
return base.OnBackButtonPressed();
}