ArcGISPortalViewer.Controls.BasemapPicker.RefreshBasemaps C# (CSharp) Method

RefreshBasemaps() private method

private RefreshBasemaps ( ) : void
return void
		private async void RefreshBasemaps()
		{
            if (ArcGISPortal != null && ArcGISPortal.ArcGISPortalInfo != null)
            {
                SearchParameters parameters = new SearchParameters() { Limit = 24 };
                try
                {
                    IsLoadingBasemaps = true;
                    if (PropertyChanged != null)
                        PropertyChanged(this, new PropertyChangedEventArgs("IsLoadingBasemaps"));
                    var basemaps = await ArcGISPortal.ArcGISPortalInfo.SearchBasemapGalleryAsync(parameters);
                    ItemsSource = basemaps.Results;
                }
                catch
                {
                    ItemsSource = null;
                }
                IsLoadingBasemaps = false;
                if (PropertyChanged != null)
                    PropertyChanged(this, new PropertyChangedEventArgs("IsLoadingBasemaps"));
                if (ItemsLoaded != null)
                    ItemsLoaded(this, EventArgs.Empty);
            }
            else if (ItemsSource != null)
            {
                ItemsSource = null;
                if (ItemsLoaded != null)
                    ItemsLoaded(this, EventArgs.Empty);
            }
		}

Usage Example

Beispiel #1
0
        private static void OnArcGISPortalPropertyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
        {
            BasemapPicker gallery  = (BasemapPicker)d;
            ArcGISPortal  oldValue = (ArcGISPortal)e.OldValue;

            if (oldValue != null)
            {
                gallery.ItemsSource = null;
            }
            ArcGISPortal newValue = (ArcGISPortal)e.NewValue;

            if (newValue != null)
            {
                if (newValue.ArcGISPortalInfo != null)
                {
                    gallery.RefreshBasemaps();
                }
            }
        }