ArcGIS Pro 3.7 API Reference Guide
ArcGIS.Desktop.Core Namespace / Project Class / GetCatalogPane Method
true (default) to create the dockpane if it has not already been created
Example

In This Topic
    GetCatalogPane Method
    In This Topic
    Gets the catalog dockpane. If createIfNecessary = true and the catalog dockpane has not been created, the pane will be created. Otherwise, if the catalog dockpane has not been created and createIfNecessary = false, null will be returned.
    Syntax
    Public Shared Function GetCatalogPane( _
       Optional ByVal createIfNecessary As Boolean _
    ) As IProjectWindow
    public static IProjectWindow GetCatalogPane( 
       bool createIfNecessary
    )

    Parameters

    createIfNecessary
    true (default) to create the dockpane if it has not already been created

    Return Value

    An IProjectWindow for the catalog dockpane or null.
    Remarks
    The returned catalog dockpane IProjectWindow can also be cast to ICatalogWindow. Use ICatalogWindow to change the current catalog dockpane content type. Refer to ICatalogWindow for more details.
    Example
    Set the catalog dockpane as the active window
    {
      //cast ICatalogWindow to ArcGIS.Desktop.Framework.Contracts.DockPane
      var catalogWindow = Project.GetCatalogPane() as DockPane;
      //Activate it
      catalogWindow.Activate();
    }
    Get the catalog content type currently being shown
    {
      //Gets the Catalog pane
      var catalogWindow = Project.GetCatalogPane() as ICatalogWindow;
      var catContentType = catalogWindow.GetCurrentContentType();
      // use catContentType;
    }
    Select an item in the Catalog pane
    {
      //Get the catalog pane
      IProjectWindow projectWindow = Project.GetCatalogPane();
      //or get the active catalog view...
      //ArcGIS.Desktop.Core.IProjectWindow projectWindow = Project.GetActiveCatalogWindow();
    
      //eg Find a toolbox in the project
      string gpName = "Interacting with Maps.tbx";
      var toolbox = Project.Current.GetItems<GeoprocessingProjectItem>().FirstOrDefault(tbx => tbx.Name == gpName);
      //Select it under Toolboxes
      projectWindow.SelectItemAsync(toolbox, true, true, null);//null selects it in the first container - optionally await
                                                               //Note: Project.Current.GetProjectItemContainer("GP") would get toolbox container...
    
      //assume toolbox is also under Folders container. Select it under Folders instead of Toolboxes
      var foldersContainer = Project.Current.ProjectItemContainers.First(c => c.Path == "FolderConnection");
      //We must specify the container because Folders comes second (after Toolboxes)
      projectWindow.SelectItemAsync(toolbox, true, true, foldersContainer);//optionally await
    
      //Find a map and select it
      var mapItem = Project.Current.GetItems<MapProjectItem>().FirstOrDefault(m => m.Name == "Map");
      //Map only occurs under "Maps" so the container need not be specified
      projectWindow.SelectItemAsync(mapItem, true, false, null);
    }
    Requirements

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

    ArcGIS Pro version: 3.0 or higher.
    See Also