public void NavigateToLanguages(UserProfileViewModel from) { var controller = GetViewController <UserProfileViewController, UserProfileViewModel>(from); var targetController = new LanguagesViewController(); targetController.ResultSetWeakSubscribe(controller.HandleResult); controller .GetNavigationController() .PushViewController(targetController, animated: true); }
public void NavigateToLanguages(ILifecycleViewModelWithResultHandler from) { var view = NavigationViewProvider.Get(from); var target = new LanguagesViewController(); NavigateForResult <LanguagesViewController, SelectedLanguageResult>(view, target, true); /* Here's what is done by Navigate() above: * * target.ResultSetWeakSubscribe(view.HandleResult); * view.GetNavigationController().PushViewController(target, true); * */ }
private void ShowLanguages() { var vm = new WeakReference <RepositoriesTrendingViewModel>(ViewModel as RepositoriesTrendingViewModel); var view = new LanguagesViewController(); view.SelectedLanguage = vm.Get()?.SelectedLanguage; view.NavigationItem.LeftBarButtonItem = new UIBarButtonItem { Image = Images.Buttons.CancelButton }; view.NavigationItem.LeftBarButtonItem.GetClickedObservable().Subscribe(_ => DismissViewController(true, null)); view.Language.Subscribe(x => { Root.Clear(); vm.Get().With(y => y.SelectedLanguage = x); DismissViewController(true, null); }); var ctrlToPresent = new ThemedNavigationController(view); ctrlToPresent.TransitioningDelegate = new SlideDownTransition(); PresentViewController(ctrlToPresent, true, null); }