//Get the catalog pane ArcGIS.Desktop.Core.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);
Target Platforms: Windows 11, Windows 10