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); } }
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); }