コード例 #1
0
        public async Task NavigateTo(ViewModelBase viewModel)
        {
            //  Creates the view based on the given target viewmodel
            var page = _viewLocator.CreateAndBindPageFor(viewModel);

            await viewModel.BeforeFirstShown();

            await Navigator.PushAsync(page);
        }
コード例 #2
0
        public async Task NavigateTo(BaseViewModel viewModel)
        {
            Page page = viewLocator.CreateAndBindPageFor(viewModel);

            await viewModel.BeforeFirstShown();

            await Navigator.PushAsync(page);

            await viewModel.OnAppearing();
        }
コード例 #3
0
ファイル: Navigator.cs プロジェクト: moritzeck/Laughy
        //Public methods
        public void PresentAsMainPage(IViewModelNavigationBase viewModel)
        {
            if (PresentationRoot.MainPage is NavigationPage navPage)
            {
                navPage.PopRequested -= NavPagePopRequested;
            }

            viewModel.BeforeFirstShown();

            var page = _viewLocator.CreateAndBindPageFor(viewModel);

            PresentationRoot.MainPage = page;

            IEnumerable <IViewModelNavigationBase> viewModelsToDismiss = FindViewModelsToDismiss(PresentationRoot.MainPage);

            foreach (var toDismiss in viewModelsToDismiss)
            {
                toDismiss.AfterDismissed();
            }
        }
コード例 #4
0
        public void PresentAsMainPage(BaseViewModel viewModel)
        {
            var page = _viewLocator.CreateAndBindPageFor(viewModel);

            IEnumerable <BaseViewModel> viewModelsToDismiss = FindViewModelsToDismiss(_presentationRoot.MainPage);

            if (_presentationRoot.MainPage is NavigationPage navPage)
            {
                // If we're replacing a navigation page, unsub from events
                navPage.PopRequested -= NavPagePopRequested;
            }

            viewModel.BeforeFirstShown();

            _presentationRoot.MainPage = page;

            foreach (BaseViewModel toDismiss in viewModelsToDismiss)
            {
                toDismiss.AfterDismissed();
            }
        }
コード例 #5
0
        public void PresentAsMainPage(INavigationViewModel viewModel)
        {
            var page = _viewLocator.CreateAndBindPageFor(viewModel);

            _presentationRoot.MainPage = page;
        }