Go back can happen only when navigationService.CanGoBack is true. Ensure the value of this property. You can go back if navigation is done earlier. This actually functions similar to undo redo. Also I verified with following snippet that works fine for me,
NavigationService service;
public MainWindow()
{
InitializeComponent();
service = mainframe.NavigationService;
service.Navigate("Page2.xaml");
}
private void Button_Click_1(object sender, RoutedEventArgs e)
{
if (service.CanGoBack)
service.GoBack();
}