Gets a collection of all the items in the Gallery.

Namespace:  ESRI.ArcGISExplorer.Application

Assembly:  ESRI.ArcGISExplorer.Application (in ESRI.ArcGISExplorer.Application.dll) Version: 2.0.0.1500 (2.0.0.1500)

Syntax

C#
public GalleryItemCollection Items { get; }
Visual Basic (Declaration)
Public ReadOnly Property Items As GalleryItemCollection

Field Value

A GalleryItemCollection object containing GalleryItem objects each of which represents an item in the Gallery.

Remarks

Each GalleryItem in this collection property will be shown in the gallery in the Ribbon. If the items in the gallery do not change, fill this collection with when the Gallery is instantiated.

It may be appropriate to update this collection periodically from within the OnUpdate()()() method, in order to present an appropriate selection of items to the user. For example, in the default Appearance tab of the Ribbon, the Symbol gallery items are updated based on the type of item selected in the Contents window; when a Note with a Point geometry is selected, only Marker symbols are displayed in the gallery, and when a Note with a Polygon geometry is selected, only Line symbols are shown in the gallery. The Symbol icons are cached and replaced each time the Symbols gallery is updated, instead of re-creating symbols from scratch, in order to minimize the time spent in the OnUpdate method.

Examples

The example code below shows a very simple Gallery class which displays 3 items; clicking on each item will zoom the display so that a specific location is in the center of the map, and the current altitude/map scale is maintained.
CopyC#
using System;
using System.Text;

// Import some typical namespaces.
using System.Windows.Forms;
using System.Drawing;

using ESRI.ArcGISExplorer.Application;
using ESRI.ArcGISExplorer.Mapping;

namespace NewGallery
{
  public class NewGallery : ESRI.ArcGISExplorer.Application.Gallery
  {

    public NewGallery()
    {
      // Read in an image from the icons installed with the SDK to use as an icon.
      string imgPath = Environment.GetEnvironmentVariable("ArcGIS_E3SDK") + @"\Icons\View32.png";
      Image btnImage = Image.FromFile(imgPath);

      // Add some items to the gallery.
      this.Items.Add(new GalleryItem("Redlands", btnImage, "View Redlands, CA, USA"));
      this.Items.Add(new GalleryItem("Edinburgh", btnImage, "View Edinburgh, UK"));
      this.Items.Add(new GalleryItem("Portland", btnImage, "View Portland, ME, USA"));
    }

    public override void OnClick(GalleryItem item)
    {
      // Work out which item was clicked.
      ESRI.ArcGISExplorer.Geometry.Point location = null;
      if (item.Caption.StartsWith("Redlands"))
      {
        location = new ESRI.ArcGISExplorer.Geometry.Point(-117.171315683414, 34.0502770959205);
      }
      else if (item.Caption.StartsWith("Edinburgh"))
      {
        location = new ESRI.ArcGISExplorer.Geometry.Point(-3.19999077085197, 55.9500400262958);
      }
      else if (item.Caption.StartsWith("Portland"))
      {
        location = new ESRI.ArcGISExplorer.Geometry.Point(-70.2624358181778, 43.6546676468125);
      }
      // Zoom to the location, maintaining altitude / map scale.
      MapDisplay disp = ESRI.ArcGISExplorer.Application.Application.ActiveMapDisplay;
      double alt = disp.Altitude;
      disp.ZoomTo(location, alt);
    }
  }
}
CopyVB.NET
Imports System
Imports System.Text

' Import some typical namespaces.
Imports System.Windows.Forms
Imports System.Drawing

' Additional ArcGIS Explorer namespaces.
Imports ESRI.ArcGISExplorer.Application
Imports ESRI.ArcGISExplorer.Mapping

Public Class NewGallery
  Inherits ESRI.ArcGISExplorer.Application.Gallery

  Public Sub New()
    ' Read in an image from the icons installed with the SDK to use as an icon.
    Dim imgPath As String = Environment.GetEnvironmentVariable("ArcGIS_E3SDK") & "\Icons\View32.png"
    Dim btnImage As Image = Image.FromFile(imgPath)

    ' Add some items to the gallery.
    Me.Items.Add(New GalleryItem("Redlands", btnImage, "View Redlands, CA, USA"))
    Me.Items.Add(New GalleryItem("Edinburgh", btnImage, "View Edinburgh, UK"))
    Me.Items.Add(New GalleryItem("Portland", btnImage, "View Portland, ME, USA"))

  End Sub

  Public Overrides Sub OnClick(ByVal item As GalleryItem)
    ' Work out which item was clicked.
    Dim location As ESRI.ArcGISExplorer.Geometry.Point = Nothing
    If (item.Caption.StartsWith("Redlands")) Then
      location = New ESRI.ArcGISExplorer.Geometry.Point(-117.171315683414, 34.0502770959205)
    ElseIf (item.Caption.StartsWith("Edinburgh")) Then
      location = New ESRI.ArcGISExplorer.Geometry.Point(-3.19999077085197, 55.9500400262958)
    ElseIf (item.Caption.StartsWith("Portland")) Then
      location = New ESRI.ArcGISExplorer.Geometry.Point(-70.2624358181778, 43.6546676468125)
    End If
        ' Zoom to the location, maintaining altitude / map scale.
    Dim disp As MapDisplay = ESRI.ArcGISExplorer.Application.Application.ActiveMapDisplay
    Dim alt As Double = disp.Altitude
    disp.ZoomTo(location, alt)
  End Sub

End Class

See Also