Ejemplo n.º 1
0
 public PopupStackAlgorithm(IViewModelWrapperStorage viewModelWrapperStorage)
 {
     PopupNavigation.Instance.Popped += (sender, args) =>
     {
         var viewModel = (ViewModelBase)args.Page.BindingContext;
         viewModelWrapperStorage.Clear(viewModel);
     };
 }
Ejemplo n.º 2
0
        public NavigationService(
            IEnumerable <KeyValuePair <Type, IStackAlgorithm> > stackAlgorithms,
            IEnumerable <INavigationModule> navigationModules,
            INavigationViewProvider navigationViewProvider,
            IViewModelWrapperStorage viewModelWrapperStorage,
            INavigationMapper navigationMapper,
            INavigationPageFactory navigationPageFactory,
            IConfigProvider <NavigationConfig> navigationConfigProvider,
            IResolver resolver)
        {
            _stackAlgorithms          = stackAlgorithms.ToDictionary(it => it.Key, it => it.Value);
            _navigationViewProvider   = navigationViewProvider;
            _viewModelWrapperStorage  = viewModelWrapperStorage;
            _navigationMapper         = navigationMapper;
            _navigationPageFactory    = navigationPageFactory;
            _navigationConfigProvider = navigationConfigProvider;
            _resolver = resolver;

            navigationModules.ForEach(it => it.Map(navigationMapper));
        }