public bool TryGoBack() { if (!CanGoBack) { return(false); } var destination = BackStack.LastOrDefault(); if (destination == null) { return(false); } BackStack.Remove(destination); AddToForwardStack( CurrentViewModel, CurrentContent); SetCurrent( destination.ViewModel, destination.Content); return(true); }