ArcGIS Pro 3.3 API Reference Guide
ArcGIS.Desktop.Layouts Namespace / TextProperties Class
Members Example

In This Topic
    TextProperties Class
    In This Topic
    Represents a collection of text properties associated with a TextElement.
    Syntax
    public class TextProperties 
    Public Class TextProperties 
    Remarks
    Each TextElement on a page layout has an associated set of text properties. This intermediate object allows you to change multiple text properties before pushing the changes back to the TextElement.
    Example
    TextElement_TextPropertiesConstructor
    TextProperties txtProp = new TextProperties("String", "Times New Roman", 24, "Regular");
    Create a Dynamic Point Text Element
    //Create a dynamic text element.
    
    //Set the string with tags and the location
    String title = @"<dyn type = ""page"" property = ""name"" />";
    Coordinate2D llTitle = new Coordinate2D(6, 2.5);
    
    //Construct element on worker thread
    await QueuedTask.Run(() =>
    {
      //Create with default text properties
      //At 2.x - TextElement titleGraphics =
      //          LayoutElementFactory.Instance.CreatePointTextGraphicElement(
      //                                  layout, llTitle, null) as TextElement;
      TextElement titleGraphics = ElementFactory.Instance.CreateTextGraphicElement(
                    container, TextType.PointText, llTitle.ToMapPoint(), null, title) as TextElement;
    
      //Modify the text properties
      titleGraphics.SetTextProperties(new TextProperties(title, "Arial", 24, "Bold"));
    });
    Modify existing text element properties
    //Modify the text properties for an existing text element.
    
    //Reference a layoutitem in a project by name
    LayoutProjectItem layoutItem = Project.Current.GetItems<LayoutProjectItem>().FirstOrDefault(item => item.Name.Equals("Layout"));
    
    //Perform on the worker thread
    await QueuedTask.Run(() =>
    {
      //Reference and load the layout associated with the layout item
      Layout lyt = layoutItem.GetLayout();
    
      //Reference a text element by name
      TextElement txtElm = lyt.FindElement("Title") as TextElement;
    
      //Change placement
      txtElm.SetX(4.25);
      txtElm.SetY(8);
    
      //Change TextProperties
      TextProperties txt_prop = txtElm.TextProperties;
      txt_prop.FontSize = 48;
      txt_prop.Font = "Times New Roman";
      txt_prop.Text = "Some new text";
      txtElm.SetTextProperties(txt_prop);
    });
    Modify existing text properties
    //Modify the text properties for an existing text element.
    
    //Reference a layoutitem in a project by name
    LayoutProjectItem layoutItem = Project.Current.GetItems<LayoutProjectItem>().FirstOrDefault(item => item.Name.Equals("Layout"));
    
    //Perform on the worker thread
    await QueuedTask.Run(() =>
    {
      //Reference and load the layout associated with the layout item
      Layout lyt = layoutItem.GetLayout();
    
      //Reference a text element by name
      TextElement txtElm = lyt.FindElement("Title") as TextElement;
    
      //Change placement
      txtElm.SetX(4.25);
      txtElm.SetY(8);
    
      //Change TextProperties
      TextProperties txt_prop = txtElm.TextProperties;
      txt_prop.FontSize = 48;
      txt_prop.Font = "Times New Roman";
      txt_prop.Text = "Some new text";
      txtElm.SetTextProperties(txt_prop);
    });
    Inheritance Hierarchy

    System.Object
       ArcGIS.Desktop.Layouts.TextProperties

    Requirements

    Target Platforms: Windows 11, Windows 10

    ArcGIS Pro version: 3 or higher.
    See Also