コード例 #1
0
        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);
        }
コード例 #2
0
        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);
             *
             */
        }
コード例 #3
0
        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);
        }