private void PerformSearch(SearchRequest searchInformation) { SearchResults.Clear(); // Start up enough threads to fetch the search results for (var i = 0; i < _searchProviders.Count(); i++) { var searchProvider = _searchProviders[i]; ThreadPool.QueueUserWorkItem( delegate { // Perform the search var results = searchProvider.Search(searchInformation.SearchText); // Add the results to the results list _dispatcher.Dispatch( delegate { foreach (var result in results) { SearchResults.Add(result); } }); } ); } }
private void SearchPerformed(SearchRequest obj) { // Decide on an image _image.Source = (ImageSource) Resources["Advert" + _nextAdvertId]; _nextAdvertId++; if (_nextAdvertId >= 3) _nextAdvertId = 0; }
private void GoButton_Click(object sender, RoutedEventArgs e) { var searchInformation = new SearchRequest(); searchInformation.SearchText = _searchTextBox.Text; // Broadcast the search event _eventAggregator.GetEvent<PerformSearchBroadcastEvent>().Publish(searchInformation); }