

Public NotInheritable Class CatalogLayer Inherits CompositeLayer Implements ArcGIS.Desktop.Core.IMetadataInfo, ILayerContainer, IMetadataSource, ITableDefinitionQueries, System.ComponentModel.INotifyPropertyChanged
public sealed class CatalogLayer : CompositeLayer, ArcGIS.Desktop.Core.IMetadataInfo, ILayerContainer, IMetadataSource, ITableDefinitionQueries, System.ComponentModel.INotifyPropertyChanged
{
var createParams = new CatalogLayerCreationParams(new Uri(@"C:\CatalogLayer\CatalogDS.gdb\HurricaneCatalogDS"));
//Set the definition query
createParams.DefinitionQuery = new DefinitionQuery("Query1", "cd_itemname = 'PuertoRico'");
//Set name of the new Catalog Layer
createParams.Name = "PuertoRico";
//Create Layer
//Note: Needs QueuedTask to run
var catalogLayer = LayerFactory.Instance.CreateLayer<CatalogLayer>(createParams, MapView.Active.Map);
}
{
//Get the CatalogDataset of another Catalog layer
var existingCatalogLayer = MapView.Active.Map.GetLayersAsFlattenedList().OfType<CatalogLayer>().FirstOrDefault();
if (existingCatalogLayer != null)
{
var catalogDataset = existingCatalogLayer.GetCatalogDataset();
//Configure the settings for a new Catalog layer using the CatalogDataset of an existing layer
var catalogLyrParams = new CatalogLayerCreationParams(catalogDataset);
catalogLyrParams.Name = "NewCatalogLayerFromAnotherCatalogLayer";
catalogLyrParams.DefinitionQuery = new DefinitionQuery("Query1", "cd_itemname = 'Asia'");
//Note: Needs QueuedTask to run
LayerFactory.Instance.CreateLayer<CatalogLayer>(catalogLyrParams, MapView.Active.Map);
}
}
System.Object
ArcGIS.Desktop.Framework.Contracts.PropertyChangedBase
ArcGIS.Desktop.Mapping.MapMember
ArcGIS.Desktop.Mapping.Layer
ArcGIS.Desktop.Mapping.CompositeLayer
ArcGIS.Desktop.Mapping.CatalogLayer
Target Platforms: Windows 11 Home, Pro, Enterprise (64 bit)