public void NavigateToArtistsAlbums(ILifecycleViewModel fromViewModel, ArtistAlbumsParameters parameters)
        {
            NavigationViewProvider.TryGetView(fromViewModel, out INavigationView <ILifecycleViewModel> fromView);
            var toView = new ArtistAlbumsViewController();

            Navigate(fromView, toView, parameters, true);
        }
        public void NavigateToMain(ILifecycleViewModel fromViewModel)
        {
            NavigationViewProvider.TryGetView(fromViewModel, out INavigationView <ILifecycleViewModel> fromView);
            var toView = new MainMusicViewController();

            Navigate(fromView, toView, true);
        }
示例#3
0
        public void NavigateToHome(ILifecycleViewModel fromViewModel)
        {
            var fromView = NavigationViewProvider.Get(fromViewModel);
            var toView   = new SideBarViewController();

            Navigate(fromView, toView, true);
        }
示例#4
0
        /// <summary>
        /// Returns an existing <see cref="INavigationView{TViewModel}"/> instance by <paramref name="viewModel"/>.
        /// </summary>
        /// <param name="viewModel">The view model that is used to get its view.</param>
        /// <returns>The navigation view instance.</returns>
        /// <exception cref="ArgumentNullException"><paramref name="viewModel"/> is <see langword="null"/>.</exception>
        /// <exception cref="InvalidOperationException">The view instance is missing for the provided <paramref name="viewModel"/>.</exception>
        public static INavigationView <ILifecycleViewModel> Get(ILifecycleViewModel viewModel)
        {
            if (viewModel == null)
            {
                throw new ArgumentNullException(nameof(viewModel));
            }

            return(ViewCache.Get <INavigationView <ILifecycleViewModel>, ILifecycleViewModel>(viewModel));
        }
        /// <summary>
        /// Gets an existing <see cref="INavigationView{TViewModel}"/> instance by <paramref name="viewModel"/>.
        /// </summary>
        /// <param name="viewModel">The view model that is used to get its view.</param>
        /// <param name="view">The navigation view corresponding to the provided model.</param>
        /// <returns><see langword="true"/> if the view still exists and has not yet been garbage collected or disposed; otherwise, <see langword="false"/>.</returns>
        /// <exception cref="ArgumentNullException"><paramref name="viewModel"/> is <see langword="null"/>.</exception>
        public static bool TryGetView(ILifecycleViewModel viewModel, [MaybeNullWhen(returnValue: false)] out INavigationView <ILifecycleViewModel> view)
        {
            if (viewModel == null)
            {
                throw new ArgumentNullException(nameof(viewModel));
            }

            return(ViewRegistry.TryGetView(viewModel, out view));
        }
示例#6
0
        public void NavigateToUserProfile(ILifecycleViewModel from, UserProfileParameters parameters)
        {
            var view   = NavigationViewProvider.Get(from);
            var target = new UserProfileViewController();

            Navigate(view, target, parameters, false);

            /* Here's what is done by Navigate() above:
             *
             * target.SetParameters(parameters);
             * view.GetNavigationController().PushViewController(target, false);
             *
             */
        }
        public static INavigationView <ILifecycleViewModel> Get(ILifecycleViewModel viewModel)
        {
            if (viewModel == null)
            {
                throw new ArgumentNullException(nameof(viewModel));
            }

            if (!ViewRegistry.TryGetView <ILifecycleViewModel, INavigationView <ILifecycleViewModel> >(viewModel, out var view))
            {
                throw new InvalidOperationException(
                          $"The view instance is missing for the provided '{TypeFormatter.FormatName(viewModel.GetType())}' view model.");
            }

            return(view);
        }
示例#8
0
        public void NavigateToUserProfile(ILifecycleViewModel from, UserProfileParameters parameters)
        {
            var view = NavigationViewProvider.Get(from);

            Navigate <UserProfileActivity, UserProfileParameters>(view, parameters);

            /* Here's what is approximately done by Navigate() above:
             *
             * var source = view.GetActivity();
             * var intent = new Intent(source, typeof(UserProfileActivity));
             * intent.PutParameters(parameters);
             * source.StartActivity(intent);
             *
             */
        }
        public void NavigateBack(ILifecycleViewModel fromViewModel)
        {
            NavigationViewProvider.TryGetView(fromViewModel, out INavigationView <ILifecycleViewModel> fromView);

            NavigateBack(fromView, true);
        }
示例#10
0
        public void NavigateToDetailsScreen(ILifecycleViewModel from, VacationParameters parameters)
        {
            var view = NavigationViewProvider.Get(from);

            Navigate <DetailsScreenActivity, VacationParameters>(view, parameters);
        }
示例#11
0
        public void NavigateToHome(ILifecycleViewModel fromViewModel)
        {
            var fromView = NavigationViewProvider.Get(fromViewModel);

            Navigate <SideBarActivity>(fromView);
        }