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); }
public void NavigateToHome(ILifecycleViewModel fromViewModel) { var fromView = NavigationViewProvider.Get(fromViewModel); var toView = new SideBarViewController(); Navigate(fromView, toView, true); }
/// <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)); }
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); }
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); }
public void NavigateToDetailsScreen(ILifecycleViewModel from, VacationParameters parameters) { var view = NavigationViewProvider.Get(from); Navigate <DetailsScreenActivity, VacationParameters>(view, parameters); }
public void NavigateToHome(ILifecycleViewModel fromViewModel) { var fromView = NavigationViewProvider.Get(fromViewModel); Navigate <SideBarActivity>(fromView); }