ArcGIS Pro 3.6 API Reference Guide
ArcGIS.Core.CIM Namespace / CIMBasicFeatureLayer Class / AutoGenerateFeatureTemplates Property
Example

In This Topic
    AutoGenerateFeatureTemplates Property
    In This Topic
    Gets or sets a value indicating whether to automatically generate feature templates from the renderer.
    Syntax
    public bool AutoGenerateFeatureTemplates {get; set;}
    Public Property AutoGenerateFeatureTemplates As Boolean
    Remarks
    When this value is set to true, appropriate templates will be added to FeatureTemplates whenever the renderer is changed.
    Example
    Change Default Edit tool for a template
    public Task ChangeTemplateDefaultToolAsync(ArcGIS.Desktop.Mapping.FeatureLayer flayer,
                      string toolContentGUID, string templateName)
    {
      return ArcGIS.Desktop.Framework.Threading.Tasks.QueuedTask.Run(() =>
      {
    
        // retrieve the edit template form the layer by name
        var template = flayer?.GetTemplate(templateName) as ArcGIS.Desktop.Editing.Templates.EditingTemplate;
        // get the definition of the layer
        var layerDef = flayer?.GetDefinition() as ArcGIS.Core.CIM.CIMFeatureLayer;
        if ((template == null) || (layerDef == null))
          return;
    
        if (template.DefaultToolID != this.ID)
        {
          bool updateLayerDef = false;
          if (layerDef.AutoGenerateFeatureTemplates)
          {
            layerDef.AutoGenerateFeatureTemplates = false;
            updateLayerDef = true;
          }
    
          // retrieve the CIM edit template definition
          var templateDef = template.GetDefinition();
    
          // assign the GUID from the tool DAML definition, for example
          // <tool id="TestConstructionTool_SampleSDKTool" categoryRefID="esri_editing_construction_polyline" ….>
          //   <tooltip heading="">Tooltip text<disabledText /></tooltip>
          //   <content guid="e58239b3-9c69-49e5-ad4d-bb2ba29ff3ea" />
          // </tool>
          // then the toolContentGUID would be "e58239b3-9c69-49e5-ad4d-bb2ba29ff3ea"
    
          //At 2.x -
          //templateDef.ToolProgID = toolContentGUID;
          templateDef.DefaultToolGUID = toolContentGUID;
    
          // set the definition back to 
          template.SetDefinition(templateDef);
    
          // update the layer definition too
          if (updateLayerDef)
            flayer.SetDefinition(layerDef);
        }
      });
    }
    
    Requirements

    Target Platforms: Windows 11, Windows 10

    ArcGIS Pro version: 3.0 or higher.
    See Also