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

TextProperties Class
Represents a collection of text properties associated with a TextElement.
Syntax
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