private string GetQueryString(NavMessage message) { string qstr = null; if (message.QueryStringParams != null) { qstr = string.Concat(message.QueryStringParams.Select(x => x.Key + "=" + x.Value).ToList<string>().ToArray()); qstr = "?" + qstr; } return (qstr); }
private void NavigateToPage(NavMessage message) { object viewObject = message.ViewObject; object navigationState = message.NavigationStateParams; if ((viewObject != null) && (navigationState != null)) { _MainFrame.NavigationService.Navigate(viewObject, navigationState); return; } else if (viewObject != null) { _MainFrame.NavigationService.Navigate(viewObject); return; } //Silverlight string queryStringParams = message.QueryStringParams == null ? "" : GetQueryString(message); string uri = string.Format("/Views/{0}.xaml{1}", message.PageName, queryStringParams); _MainFrame.NavigationService.Navigate(new Uri(uri, UriKind.Relative)); }