コード例 #1
0
        protected virtual void DoNavigate(ControllerInvokerResult controllerResult)
        {
            var route  = controllerResult.Route;
            var result = controllerResult.Result;

            Log.Information("Doing navigate to route {route}", route);

            var pageResult = result as IPageActionResult;

            if (pageResult != null)
            {
                _presentationBus.PublishAsync(new PageNavigationRequest(route,
                                                                        new PageNavigationRequestEventArgs(pageResult.PageType,
                                                                                                           pageResult.Parameter)));
                return;
            }

            var viewModelResult = result as IViewModelActionResult;

            if (viewModelResult != null)
            {
                _presentationBus.PublishAsync(new ViewModelNavigationRequest(route,
                                                                             new ViewModelNavigationRequestEventArgs(
                                                                                 viewModelResult.ViewModelInstance)));
            }
        }
コード例 #2
0
        protected override void DoNavigate(ControllerInvokerResult controllerResult)
        {
            var result         = controllerResult.Result;
            var settingsResult = result as ISettingsPageActionResult;

            if (settingsResult != null)
            {
                DoSettingsPopup(settingsResult);
                return;
            }

            base.DoNavigate(controllerResult);
        }