ArcGIS Pro 3.7 API Reference Guide
ArcGIS.Desktop.Mapping Namespace / MappingExtensions Class / GetTemplate Method
The map member containing the template.
The name of the template to be retrieved.
Example

In This Topic
    GetTemplate Method
    In This Topic
    Gets a template by name for a map member. This method must be called on the MCT. Use QueuedTask.Run.
    Syntax
    Public Shared Function GetTemplate( _
       ByVal mapMember As MapMember, _
       ByVal name As String _
    ) As EditingTemplate
    public static EditingTemplate GetTemplate( 
       MapMember mapMember,
       string name
    )

    Parameters

    mapMember
    The map member containing the template.
    name
    The name of the template to be retrieved.

    Return Value

    The template. Null if the template doesn't exist on the map member..
    Exceptions
    ExceptionDescription
    This method or property must be called within the lambda passed to QueuedTask.Run.
    Example
    Find edit template by name on a layer
    // Finds and retrieves specific editing templates by name from layers in the active map.
    await QueuedTask.Run(() =>
    {
      var mainTemplate = activeMap.FindLayers("main").FirstOrDefault()?.GetTemplate("Distribution");
      var mhTemplate = activeMap.FindLayers("Manhole").FirstOrDefault()?.GetTemplate("Active");
    });
    Change Default Edit tool for a template
    await QueuedTask.Run(() =>
          {
            var templateName = "Distribution"; // name of the template to update
            var toolDamlPlugInID = "esri_editing_SketchTwoPointLineTool"; // DAML ID of the tool to set as default
            var toolContentGUID = "e2096d13-b437-4bc1-94ea-4494c3260f72"; // Example GUID, replace with actual GUID from DAML
                                                                          // retrieve the edit template form the layer by name
            var template = featureLayer?.GetTemplate(templateName) as EditingTemplate;
            // get the definition of the layer
            var layerDef = featureLayer?.GetDefinition() as CIMFeatureLayer;
            if (template == null || layerDef == null)
              return;
            if (template.DefaultToolID != toolDamlPlugInID)
            {
              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"
    
              //templateDef.ToolProgID = toolContentGUID;
              templateDef.DefaultToolGUID = toolContentGUID;
    
              // set the definition back to 
              template.SetDefinition(templateDef);
    
              // update the layer definition too
              if (updateLayerDef)
                featureLayer.SetDefinition(layerDef);
            }
          });
    Requirements

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

    ArcGIS Pro version: 3.0 or higher.
    See Also