コード例 #1
0
        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);
                                        }
                                    });
                        }
                    );
            }
        }
コード例 #2
0
 private void SearchPerformed(SearchRequest obj)
 {
     // Decide on an image
     _image.Source = (ImageSource) Resources["Advert" + _nextAdvertId];
     _nextAdvertId++;
     if (_nextAdvertId >= 3) _nextAdvertId = 0;
 }
コード例 #3
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);
        }