public static void AllowToolDamlID( CIMEditingTemplate templateDef, string id )
Public Shared Sub AllowToolDamlID( _ ByVal templateDef As CIMEditingTemplate, _ ByVal id As String _ )
Parameters
- templateDef
- id
- DAML ID of the tool.
public static void AllowToolDamlID( CIMEditingTemplate templateDef, string id )
Public Shared Sub AllowToolDamlID( _ ByVal templateDef As CIMEditingTemplate, _ ByVal id As String _ )
| Exception | Description | 
|---|---|
| System.ArgumentException | The tool corresponding to the specified id cannot be found. | 
QueuedTask.Run(() =>
{
  //hide all tools except line tool on layer
  var featLayer = MapView.Active.Map.FindLayers("Roads").First();
  var editTemplates = featLayer.GetTemplates();
  var newCIMEditingTemplates = new List<CIMEditingTemplate>();
  foreach (var et in editTemplates)
  {
    //initialize template by activating default tool
    et.ActivateDefaultToolAsync();
    var cimEditTemplate = et.GetDefinition();
    //get the visible tools on this template
    var allTools = et.ToolIDs.ToList();
    //add the hidden tools on this template
    allTools.AddRange(cimEditTemplate.GetExcludedToolDamlIds().ToList());
    //hide all the tools then allow the line tool
    cimEditTemplate.SetExcludedToolDamlIds(allTools.ToArray());
    cimEditTemplate.AllowToolDamlID("esri_editing_SketchLineTool");
    newCIMEditingTemplates.Add(cimEditTemplate);
  }
  //update the layer templates
  var layerDef = featLayer.GetDefinition() as CIMFeatureLayer;
  // Set AutoGenerateFeatureTemplates to false for template changes to stick
  layerDef.AutoGenerateFeatureTemplates = false;
  layerDef.FeatureTemplates = newCIMEditingTemplates.ToArray();
  featLayer.SetDefinition(layerDef);
});
	Target Platforms: Windows 11, Windows 10, Windows 8.1