Ejemplo n.º 1
0
        public void RemovePage(string name)
        {
            if (name == null)
            {
                throw new ArgumentNullException("name");
            }

            string pageName = _namingConventions.GetViewName(name);
            Page   page     = _lazyNavigation.Value.NavigationStack
                              .FirstOrDefault(pg => pg.GetType().Name == pageName);

            if (page != null)
            {
                _lazyNavigation.Value.RemovePage(page);
            }
        }
Ejemplo n.º 2
0
        public Page ResolvePage(string name)
        {
            string viewName = _namingConventions.GetViewName(name);

            if (!_componentContext.IsRegisteredWithName <Page>(viewName))
            {
                return(null);
            }

            var page = _componentContext.ResolveNamed <Page>(viewName);

            string viewModelName = _namingConventions.GetViewModelName(name);

            if (_componentContext.IsRegisteredWithName <ViewModelBase>(viewModelName))
            {
                var viewModel = _componentContext.ResolveNamed <ViewModelBase>(viewModelName);
                viewModel.Navigator = _componentContext.Resolve <INavigator>();
                viewModel.Title     = _namingConventions.GetViewModelTitle(name);

                page.BindingContext = viewModel;
            }

            return(page);
        }