One approach is to navigate.GoBack() on the SearchPage.OnNavigatedTo event when the navigation mode is 'Back.
public override async void OnNavigatedTo(object navigationParameter, Windows.UI.Xaml.Navigation.NavigationMode navigationMode, System.Collections.Generic.Dictionary<string, object> viewModelState)
{
if (navigationMode != NavigationMode.Back)
{
base.OnNavigatedTo(navigationParameter, navigationMode, viewModelState);
// ... and so on ...
}
else
{
if (this.navigationService.CanGoBack())
{
// this call must be run on the dispatcher due to using the async-void signature on this event
await Window.Current.CoreWindow.Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () => this.navigationService.GoBack());
}
}
}
What's interesting here is the need to use the Dispatcher. Without it, the .GoBack() function fails. I'm not convinced this is the best answer, but it's an answer.