// Creates a default set of searches and adds them to the selected set
        private void initializeDefaultProviders()
        {
            // Add provider for place search
            ArcGISLocatorPlaceSearchProvider placeSearch =
                new ArcGISLocatorPlaceSearchProvider(_map, "http://geocode.arcgis.com/ArcGIS/rest/services/World/GeocodeServer");

            Properties.SetDescription(placeSearch, placeSearch.GetDescription());
            SelectedSearchProviders.Add(placeSearch);

            // Add provider for ArcGIS Portal search
            ArcGISPortalServiceSearchProvider portalSearch = new ArcGISPortalServiceSearchProvider();
            Binding b = new Binding("Portal")
            {
                Source = MapApplication.Current
            };

            BindingOperations.SetBinding(portalSearch, ArcGISPortalServiceSearchProvider.PortalProperty, b);

            Properties.SetDescription(portalSearch, portalSearch.GetDescription());
            SelectedSearchProviders.Add(portalSearch);

            // Add provider for web search
            GoogleServiceSearchProvider webSearch = new GoogleServiceSearchProvider();

            Properties.SetDescription(webSearch, webSearch.GetDescription());
            SelectedSearchProviders.Add(webSearch);
        }
        // Creates a default set of searches and adds them to the selected set
        private void initializeDefaultProviders()
        {
            // Add provider for place search
            ArcGISLocatorPlaceSearchProvider placeSearch = 
                new ArcGISLocatorPlaceSearchProvider(_map, "http://geocode.arcgis.com/ArcGIS/rest/services/World/GeocodeServer");
            Properties.SetDescription(placeSearch, placeSearch.GetDescription());
            SelectedSearchProviders.Add(placeSearch);

            // Add provider for ArcGIS Portal search
            ArcGISPortalServiceSearchProvider portalSearch = new ArcGISPortalServiceSearchProvider();
            Binding b = new Binding("Portal") { Source = MapApplication.Current };
            BindingOperations.SetBinding(portalSearch, ArcGISPortalServiceSearchProvider.PortalProperty, b);

            Properties.SetDescription(portalSearch, portalSearch.GetDescription());
            SelectedSearchProviders.Add(portalSearch);

            // Add provider for web search
            GoogleServiceSearchProvider webSearch = new GoogleServiceSearchProvider();
            Properties.SetDescription(webSearch, webSearch.GetDescription());
            SelectedSearchProviders.Add(webSearch);
        }
        private void ViewerApplicationControl_ViewLoaded(object sender, EventArgs e)
        {
            if (View.Instance != null && BuilderApplication.Instance != null)
                 BuilderApplication.Instance.LoadingOverlay = View.Instance.FindObjectInLayout("LoadingOverlay") as UIElement;

            SearchViewModel searchViewModel = BuilderSearchView.DataContext as SearchViewModel;
            if (searchViewModel.SearchProviders.Count > 0)
                return;

            ArcGISPortalServiceSearchProvider arcgisSearchProvider = new ArcGISPortalServiceSearchProvider()
                {
                    Portal = MapApplication.Current.Portal
                };

            ServiceSearchResultsView resultsView = arcgisSearchProvider.ResultsView as ServiceSearchResultsView;
            Style resultDetailsContainerStyle = Application.Current.Resources["PopupContentControl"] as Style;
            Style resultDetailsLeaderStyle = Application.Current.Resources["PopupLeader"] as Style;

            if (resultsView != null)
            {
                resultsView.ResultDetailsContainerStyle = resultDetailsContainerStyle;
                resultsView.ResultDetailsLeaderStyle = resultDetailsLeaderStyle;
            }
            searchViewModel.SearchProviders.Add(arcgisSearchProvider);

            GoogleServiceSearchProvider webSearchProvider = new GoogleServiceSearchProvider();
            resultsView = webSearchProvider.ResultsView as ServiceSearchResultsView;
            if (resultsView != null)
            {
                resultsView.ResultDetailsContainerStyle = resultDetailsContainerStyle;
                resultsView.ResultDetailsLeaderStyle = resultDetailsLeaderStyle;
            }
            searchViewModel.SearchProviders.Add(webSearchProvider);

            BuilderSearchView.DataContext = searchViewModel;
        }