Represents a collection of text properties associated with a
TextElement.
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);
});
System.Object
ArcGIS.Desktop.Layouts.TextProperties
Target Platforms: Windows 11, Windows 10
ArcGIS Pro version: 3 or higher.