Click or drag to resize

ParagraphListFormat Property

Gets or sets the list format.

Namespace:  GemBox.Document
Assembly:  GemBox.Document (in GemBox.Document.dll) Version:
public ListFormat ListFormat { get; set; }

Property Value

Type: ListFormat
The list format.

List (for example, ordered - with numbers, or unordered - with bullets) appearance in GemBox.Document is defined through ListFormat class that is set on Paragraph's ListFormat property or ParagraphStyle's ListFormat property.

ListFormat is different from other formattings (ParagraphFormat and CharacterFormat) because it doesn't directly contain any formatting properties.

It contains a reference to a ListStyle which exposes ListLevelFormats for every list (indentation) level through its ListLevelFormats property.

ListLevelFormats contain direct formatting properties that affect the appearance of the list. Every ListStyle contains exactly 9 ListLevelFormats, one for each possible list (indentation) level.

Paragraph's list (indentation) level can be adjusted with ListFormat.ListLevelNumber property. Paragraph's list-related formatting will then be collected from the ListLevelFormat instance contained in the ListStyle.ListLevelFormats at the position ListFormat.ListLevelNumber. This ListLevelFormat can also be retrieved from the ListFormat.ListLevelFormat property.

ListLevelFormat retrieved from the ListFormat.ListLevelFormat property can be additionally modified to enable overriding property values of ListLevelFormat instance contained in the ListStyle.ListLevelFormats at the position ListFormat.ListLevelNumber on a Paragraph or ParagraphStyle basis.

To create a list in a document, first ListStyle instance has to be created from one of the predefined list style types specified with ListTemplateType enumeration. After that, ListFormat can be created with a specified ListStyle and assigned to a Paragraph's ListFormat property. For a complete example, see Lists example.

If ListStyle is not referenced from anywhere in the document (from any Paragraph or ParagraphStyle, then it won't be saved to a Word Document (DOCX) file, unless it is added to Styles collection.

Paragraph's list content, which prefixes paragraph content, is represented by ListItem type.

ListItems are not permanently stored in model nor they are written to file formats which fully support ListFormat, instead they are recreated each time CalculateListItems method is called.

If document content or formatting is changed, then CalculateListItems method should be called again to retrieve the latest list items.

For convenience, after calling CalculateListItems method, ListItem can also be retrieved from ListItem property.

After calling Dispose on IEnumeratorT instance retrieved by calling GetEnumerator on instance returned from CalculateListItems method, paragraph's ListItem property will be even if paragraph's IsList is . This enables easy iteration over ListItems returned from CalculateListItems method by using foreach statement and removing all references to ListItems after the iteration is finished.

See Also