public void SetDefinition( CIMEditingTemplate definition )
Public Sub SetDefinition( _ ByVal definition As CIMEditingTemplate _ )
Parameters
- definition
- the new CIM definition for this template.
public void SetDefinition( CIMEditingTemplate definition )
Public Sub SetDefinition( _ ByVal definition As CIMEditingTemplate _ )
Exception | Description |
---|---|
ArcGIS.Core.CalledOnWrongThreadException | This method or property must be called within the lambda passed to QueuedTask.Run. |
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); } }); }
QueuedTask.Run(() => { var tableTemplate = table.GetTemplate("Template1"); var definition = tableTemplate.GetDefinition(); definition.Description = "New definition"; definition.Name = "New name"; // update the definition tableTemplate.SetDefinition(definition); });
Target Platforms: Windows 11, Windows 10