protected void CreateNewSearch(string searchString) { if (CurrentSearchResults != null && CurrentSearchResults.SearchString == searchString) { return; } _beginSearchTimer.Stop(); // Stop the previous search requests if (_cancellationTokenSource != null) { _cancellationTokenSource.Cancel(); } if (string.IsNullOrEmpty(searchString) || CurrentDatabase == null) { SearchResultsListBox.EmptyText = null; CurrentSearchResults = null; ClearProgressIndicator(); return; } // Create the new search results object and indicate "searching" SearchResultsListBox.EmptyText = LocalizedStrings.SearchPageSearching; CurrentSearchResults = new DACPSearchResults(CurrentDatabase, searchString); SetProgressIndicator(null, true); _beginSearchTimer.Start(); }
protected async void StartSearch() { DACPSearchResults results = CurrentSearchResults; if (results == null) { return; } _cancellationTokenSource = new CancellationTokenSource(); // Begin searching try { await results.SearchAsync(_cancellationTokenSource.Token); } catch { } if (results == CurrentSearchResults) { SearchResultsListBox.EmptyText = LocalizedStrings.SearchPageNoResultsFound; ClearProgressIndicator(); } }