public PopupStackAlgorithm(IViewModelWrapperStorage viewModelWrapperStorage) { PopupNavigation.Instance.Popped += (sender, args) => { var viewModel = (ViewModelBase)args.Page.BindingContext; viewModelWrapperStorage.Clear(viewModel); }; }
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)); }