public static void NavigateToViewModel(this INavigationService navigationService, Type viewModel) { var viewType = ViewLocator.LocateTypeForModelType(viewModel, null, null); var packUri = ViewLocator.DeterminePackUriFromType(viewModel, viewType); var uri = new Uri(packUri, UriKind.Relative); navigationService.Navigate(uri); }
public void NavigateToViewModel(Type viewModel, string context, object extraData = null) { var viewType = ViewLocator.LocateTypeForModelType(viewModel, null, context); var packUri = ViewLocator.DeterminePackUriFromType(viewModel, viewType); var uri = new Uri(packUri, UriKind.Relative); frame.Navigate(uri, extraData); }
public void NavigateToViewModel(Type viewModel) { var viewType = ViewLocator.LocateTypeForModelType(viewModel, null, null); var packUri = ViewLocator.DeterminePackUriFromType(viewModel, viewType); var uri = new Uri(packUri, UriKind.Relative); frame.Navigate(uri); }
/// <summary> /// Builds the URI. /// </summary> /// <returns>A uri constructed with the current configuration information.</returns> public Uri BuildUri() { var viewType = ViewLocator.LocateTypeForModelType(typeof(TViewModel), null, null); if (viewType == null) { throw new Exception(string.Format("No view was found for {0}. See the log for searched views.", typeof(TViewModel).FullName)); } var packUri = ViewLocator.DeterminePackUriFromType(typeof(TViewModel), viewType); var qs = BuildQueryString(); return(new Uri("/Shell" + packUri + qs, UriKind.Relative)); }