示例#1
0
        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);
        }
示例#2
0
        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);
        }
示例#4
0
        /// <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));
        }