Go Back to Previous Item
Your GoBack() method could be simplified in its current pattern to  

public void GoBack()
{
    NavButtonUsed = true;

    Forward.Insert(0, Back[0]);
    Back.RemoveAt(0);

    CurrentItem = ItemList[ItemList.IndexOf(Back[0])];

    NavButtonUsed = false;
}  


The whole switch..case is senseless, because the only thing it is doing is triggering the OnPropertyChanged() event twice.  

Inside the switch..case you are assigning a MenuItem to the CurrentItem property (triggering an OnPropertyChanged() event) and you are breaking out of the switch.  

Then you are assigning ItemList[ItemList.IndexOf(Back[0])] to the CurrentItem property (triggering an OnPropertyChanged() event), so you are just overwriting the property.  

So, if this method works like intended, the switch..case can be removed.