The ParagraphStyle and InlineStyle classes provide three implementations of the constructor. In this post, I would like to explain the differences between these implementations.

The first implementation creates a new style with a specific name. This style can be created, adjusted and added to the TX Text Control instance:

TXTextControl.ParagraphStyle newStyle = new TXTextControl.ParagraphStyle("Heading1");
textControl1.ParagraphStyles.Add(newStyle);

The second implementation creates a new style with a specific name and a base style. The new style inherits all settings from the specified base style.

TXTextControl.ParagraphStyle newStyle = new TXTextControl.ParagraphStyle("Heading2", "Heading1");
textControl1.ParagraphStyles.Add(newStyle);

A typical scenario when using formatting styles is to copy an existing style from one TX Text Control instance to another. It is not possible to copy the style object directly. You need to create a new style in order to be able to use it. For this purpose, the third implementation must be used:

TXTextControl.ParagraphStyle newStyle = new TXTextControl.ParagraphStyle(textControl1.ParagraphStyles.GetItem("Heading1"));
textControl2.ParagraphStyles.Add(newStyle);

The above code creates a new style based on another existing style. All settings including the name are copied and can be added to another instance of TX Text Control.