public ExplorerPageViewModel(ExplorerPage page, IPackageLoaderService packagesLoaderService, IModelProvider <ExplorerSettingsContainer> settingsProvider, IPackageMetadataMediaDownloadService packageMetadataMediaDownloadService, INuGetFeedVerificationService nuGetFeedVerificationService, ICommandManager commandManager, IDispatcherService dispatcherService, IRepositoryContextService repositoryService, ITypeFactory typeFactory, IDefferedPackageLoaderService defferedPackageLoaderService, IPackageOperationContextService packageOperationContextService, INuGetCacheManager nuGetCacheManager, INuGetConfigurationService nuGetConfigurationService, IDispatcherProviderService dispatcherProviderService) { Argument.IsNotNull(() => packagesLoaderService); Argument.IsNotNull(() => settingsProvider); Argument.IsNotNull(() => packageMetadataMediaDownloadService); Argument.IsNotNull(() => commandManager); Argument.IsNotNull(() => nuGetFeedVerificationService); Argument.IsNotNull(() => dispatcherService); Argument.IsNotNull(() => repositoryService); Argument.IsNotNull(() => typeFactory); Argument.IsNotNull(() => defferedPackageLoaderService); Argument.IsNotNull(() => packageOperationContextService); Argument.IsNotNull(() => nuGetCacheManager); Argument.IsNotNull(() => nuGetConfigurationService); Argument.IsNotNull(() => dispatcherProviderService); _dispatcherService = dispatcherService; _packageMetadataMediaDownloadService = packageMetadataMediaDownloadService; _nuGetFeedVerificationService = nuGetFeedVerificationService; _repositoryService = repositoryService; _defferedPackageLoaderService = defferedPackageLoaderService; _packageOperationContextService = packageOperationContextService; _typeFactory = typeFactory; _packagesLoaderService = packagesLoaderService; _nuGetCacheManager = nuGetCacheManager; _nuGetConfigurationService = nuGetConfigurationService; _dispatcherProviderService = dispatcherProviderService; Settings = settingsProvider.Model; LoadNextPackagePage = new TaskCommand(LoadNextPackagePageExecuteAsync); CancelPageLoading = new TaskCommand(CancelPageLoadingExecuteAsync); RefreshCurrentPage = new TaskCommand(RefreshCurrentPageExecuteAsync); commandManager.RegisterCommand(nameof(RefreshCurrentPage), RefreshCurrentPage, this); Title = page.Parameters.Tab.Name; _initialSearchParams = page.Parameters.InitialSearchParameters; //if null, standard Settings will not be overriden if (Title != "Browse") { #pragma warning disable IDISP004 // Don't ignore created IDisposable. _packagesLoaderService = this.GetServiceLocator().ResolveType <IPackageLoaderService>(Title); #pragma warning restore IDISP004 // Don't ignore created IDisposable. } if (!Enum.TryParse(Title, out _pageType)) { Log.Error("Unrecognized page type"); } CanBatchProjectActions = _pageType != MetadataOrigin.Installed; Page = page; }
// Don't use public static void AddToFrameHistory(ExplorerPage page) { IEnumerable enumerable = NavigationFrame.BackStack; if (NavigationFrame.CanGoBack) { List <object> list = NavigationFrame.BackStack.Cast <object>().ToList(); //Debug.WriteLine("backstack length: " + list.Count); if (list.Count > 1) { IEnumerator enumerator = NavigationFrame.BackStack.GetEnumerator(); enumerator.MoveNext(); //var q = (enumerator.Current.GetType()); //Debug.WriteLine(enumerator.Current.GetType()); } } }