ArcGIS Pro 3.4 API Reference Guide
ArcGIS.Core.CIM Namespace / CIMLabelClass Class / TextSymbol Property
Example

In This Topic
    TextSymbol Property (CIMLabelClass)
    In This Topic
    Gets or sets the text symbol of the label class.
    Syntax
    public CIMSymbolReference TextSymbol {get; set;}
    Public Property TextSymbol As CIMSymbolReference
    Example
    Creating a new Annotation Feature in an Annotation FeatureClass using a RowBuffer
    public async Task CreatingAnAnnotationFeature(Geodatabase geodatabase)
    {
        await ArcGIS.Desktop.Framework.Threading.Tasks.QueuedTask.Run(() =>
        {
            using (AnnotationFeatureClass annotationFeatureClass = geodatabase.OpenDataset<AnnotationFeatureClass>("Annotation // feature // class // name"))
            using (AnnotationFeatureClassDefinition annotationFeatureClassDefinition = annotationFeatureClass.GetDefinition())
            using (RowBuffer rowBuffer = annotationFeatureClass.CreateRowBuffer())
            using (AnnotationFeature annotationFeature = annotationFeatureClass.CreateRow(rowBuffer))
            {
                annotationFeature.SetAnnotationClassID(0);
                annotationFeature.SetStatus(AnnotationStatus.Placed);
    
                // Get the annotation labels from the label collection
                IReadOnlyList<CIMLabelClass> labelClasses =
            annotationFeatureClassDefinition.GetLabelClassCollection();
    
                // Setup the symbol reference with the symbol id and the text symbol
                CIMSymbolReference cimSymbolReference = new CIMSymbolReference();
                cimSymbolReference.Symbol = labelClasses[0].TextSymbol.Symbol;
                cimSymbolReference.SymbolName = labelClasses[0].TextSymbol.SymbolName;
    
                // Setup the text graphic
                CIMTextGraphic cimTextGraphic = new CIMTextGraphic();
                cimTextGraphic.Text = "Charlotte, North Carolina";
                cimTextGraphic.Shape = new MapPointBuilderEx(new Coordinate2D(-80.843, 35.234), SpatialReferences.WGS84).ToGeometry();
                cimTextGraphic.Symbol = cimSymbolReference;
    
                // Set the symbol reference on the graphic and store
                annotationFeature.SetGraphic(cimTextGraphic);
                annotationFeature.Store();
            }
        });
    }
    Apply text symbol to a feature layer
    //Note: call within QueuedTask.Run()
    
    //Get the layer's definition
    var lyrDefn = featureLayer.GetDefinition() as CIMFeatureLayer;
    //Get the label classes - we need the first one
    var listLabelClasses = lyrDefn.LabelClasses.ToList();
    var theLabelClass = listLabelClasses.FirstOrDefault();
    //Set the label classes' symbol to the custom text symbol
    //Refer to the ProSnippets-TextSymbols wiki page for help with creating custom text symbols.
    //Example: var textSymbol = await CreateTextSymbolWithHaloAsync();
    theLabelClass.TextSymbol.Symbol = textSymbol;
    lyrDefn.LabelClasses = listLabelClasses.ToArray(); //Set the labelClasses back
    featureLayer.SetDefinition(lyrDefn); //set the layer's definition
                                         //set the label's visiblity
    featureLayer.SetLabelVisibility(true);
    Requirements

    Target Platforms: Windows 11, Windows 10

    ArcGIS Pro version: 3 or higher.
    See Also