/// <summary> /// Populates the page with content passed during navigation. Any saved state is also /// provided when recreating a page from a prior session. /// </summary> /// <param name="navigationParameter">The parameter value passed to /// <see cref="Frame.Navigate(Type, Object)"/> when this page was initially requested. /// </param> /// <param name="pageState">A dictionary of state preserved by this page during an earlier /// session. This will be null the first time a page is visited.</param> protected override void LoadState(Object navigationParameter, Dictionary <String, Object> pageState) { if (pageState != null && pageState.ContainsKey("SearchQueryMessage")) { _searchQueryMessage = pageState["SearchQueryMessage"] as SearchQueryMessage; Messenger.Default.Send <SearchQueryMessage>(_searchQueryMessage); } else if (navigationParameter != null) { if (navigationParameter is SearchQueryMessage) { _searchQueryMessage = navigationParameter as SearchQueryMessage; Messenger.Default.Send <SearchQueryMessage>(_searchQueryMessage); } else if (navigationParameter is string) { _searchQueryMessage = new SearchQueryMessage { Query = navigationParameter as string }; Messenger.Default.Send <SearchQueryMessage>(_searchQueryMessage); } } }
private void OnSearchQuery(SearchQueryMessage queryMessage) { Query = queryMessage.Query; Results = new SearchResultsViewModelCollection(_baconProvider, Query); }