public AssetStoreViewModel(IAssetStore store, IConfigurationContainer <ProjectConfiguration> configuration, ProjectReference project) { _store = store; _configuration = configuration.Value; _project = project; _searchTextObservable.StartWith(_searchText) .CombineLatest(_includePrereleaseObservable.StartWith(_includePrerelease), (t, p) => new AssetStoreQueryArgs { Text = t, IncludePrerelease = p }) .Throttle(TimeSpan.FromSeconds(1)) .Select(_ => _store.Query(_).ToObservable()) .Switch() .ObserveOnDispatcher() .Subscribe(OnSearchResult); ClosePackageCommand = new ActionCommand(ClosePackage); InstallPackageCommand = new AsyncCommand(InstallPackage); }