Click or drag to resize

ListFormat Class

Represents list format which shall be applied to the contents of the parent paragraph.
Inheritance Hierarchy

Namespace:  GemBox.Document
Assembly:  GemBox.Document (in GemBox.Document.dll) Version:
public sealed class ListFormat : Format

The ListFormat type exposes the following members.

Public methodListFormat
Initializes a new instance of the ListFormat class.
Public propertyDocument
Gets the owner document.
(Inherited from Format.)
Public propertyIsList
Gets a value indicating whether this ListFormat defines the list.
Public propertyListLevelFormat
Gets the ListLevelFormat that is applied on the parent Paragraph.
Public propertyListLevelNumber
Gets or sets the list level number for the parent paragraph.
Public propertyStyle
Gets or sets the ListStyle.
Public operatorStatic memberEquality
Determines whether first and second ListFormats are equal.
Public operatorStatic memberInequality
Determines whether first and second ListFormats are not equal.

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