ArcGIS Pro 3.7 API Reference Guide
ArcGIS.Desktop.Catalog Namespace / OpenItemDialog Class
Members Example

In This Topic
    OpenItemDialog Class
    In This Topic
    Opens the Browse dialog box and allows you to select one or more project items, portal items, or items available from a local or network disk.
    Object Model
    OpenItemDialog ClassBrowseProjectFilter Class
    Syntax
    Public NotInheritable Class OpenItemDialog 
       Inherits ItemDialog
    public sealed class OpenItemDialog : ItemDialog 
    Example
    OpenItemDialog
    {
      // Variables not used in samples
      OpenItemDialog selectItemDialog = new(); // in #region BrowseDialogItems
    
      // Adds a single item to a map
      OpenItemDialog addToMapDialog = new()
      {
        Title = "Add To Map",
        InitialLocation = @"C:\Data\NewYork\Counties\Erie\Streets",
        Filter = ItemFilters.Composite_AddToMap
      };
    }
    BrowseDialogItems
    {
      OpenItemDialog addToProjectDialog = new()
      {
        Title = "Add To Project",
        MultiSelect = true,
        Filter = ItemFilters.Composite_Maps_Import
      };
      bool? ok = addToProjectDialog.ShowDialog();
      if (ok == true)
      {
        IEnumerable<Item> selectedDialogItems = addToProjectDialog.Items;
        foreach (Item selectedDialogItem in selectedDialogItems)
          MapFactory.Instance.CreateMapFromItem(selectedDialogItem);
      }
    }
    Geodatabase Content from Browse Dialog
    {
      var openDlg = new OpenItemDialog
      {
        Title = "Select a Feature Class",
        InitialLocation = @"C:\Data",
        MultiSelect = false,
        BrowseFilter = BrowseProjectFilter.GetFilter(ItemFilters.GeodatabaseItems_All)
      };
      //show the browse dialog
      bool? ok = openDlg.ShowDialog();
      if (!ok.HasValue || openDlg.Items.Count == 0)
      {
        // nothing selected, leave
      }
    
      // Note: Needs QueuedTask to run
      // get the item
      var item = openDlg.Items.First();
      // see if the item has a dataset
      if (ItemFactory.Instance.CanGetDataset(item))
      {
        // get it
        using var ds = ItemFactory.Instance.GetDataset(item);
        // access some properties
        var name = ds.GetName();
        var path = ds.GetPath();
        // if it's a featureclass
        if (ds is FeatureClass fc)
        {
          // create a layer 
          var featureLayerParams = new FeatureLayerCreationParams(fc)
          {
            MapMemberIndex = 0
          };
          var layer = LayerFactory.Instance.CreateLayer<FeatureLayer>(featureLayerParams, MapView.Active.Map);
    
          // continue
        }
      }
    }
    Workflow to open an ArcGIS Pro project using the OpenItemDialog
    {
      BrowseProjectFilter portalAndLocalProjectsFilter = new();
      //A filter to pick projects from the portal
      //This filter will allow selection of ppkx and portal project items on the portal
      portalAndLocalProjectsFilter.AddFilter(BrowseProjectFilter.GetFilter("esri_browseDialogFilters_projects_online_proprojects"));
      //A filter to pick projects from the local machine
      portalAndLocalProjectsFilter.AddFilter(BrowseProjectFilter.GetFilter("esri_browseDialogFilters_projects"));
      //Create the OpenItemDialog and set the filter to the one we just created
      var openDlg = new OpenItemDialog()
      {
        Title = "Select a Project",
        MultiSelect = false,
        BrowseFilter = portalAndLocalProjectsFilter
      };
      //Show the dialog
      var result = openDlg.ShowDialog();
      //Check if the user clicked OK and selected an item
      bool? ok = openDlg.ShowDialog();
      if (!ok.HasValue || openDlg.Items.Count == 0)
        return; //nothing selected
      var selectedItem = openDlg.Items.FirstOrDefault();
      //Open the project use the OpenAsync method.
    }
    Inheritance Hierarchy

    System.Object
       ArcGIS.Desktop.Catalog.ItemDialog
          ArcGIS.Desktop.Catalog.OpenItemDialog

    Requirements

    Target Platforms: Windows 11 Home, Pro, Enterprise (64 bit)

    ArcGIS Pro version: 3.0 or higher.
    See Also