ListCollection

ListCollection class

Speichert und verwaltet die Formatierung von Listen mit Aufzählungszeichen und Nummern, die in einem Dokument verwendet werden.

Um mehr zu erfahren, besuchen Sie dieArbeiten mit Listen Dokumentationsartikel.

public class ListCollection : IEnumerable<List>

Eigenschaften

NameBeschreibung
Count { get; }Ruft die Anzahl der nummerierten und Aufzählungslisten im Dokument ab.
Document { get; }Ruft das Eigentümerdokument ab.
Item { get; }Ruft eine Liste nach Index ab.

Methoden

NameBeschreibung
Add(ListTemplate)Erstellt eine neue Liste basierend auf einer vordefinierten Vorlage und fügt sie der Sammlung von Listen im Dokument hinzu.
Add(Style)Erstellt eine neue Liste, die auf einen Listenstil verweist, und fügt ihn der Sammlung von Listen im Dokument hinzu.
AddCopy(List)Erstellt eine neue Liste, indem die angegebene Liste kopiert und zur Listensammlung im Dokument hinzugefügt wird.
GetEnumerator()Ruft das Enumeratorobjekt ab, das Listen im Dokument aufzählt.
GetListByListId(int)Ruft eine Liste anhand einer Listenkennung ab.

Bemerkungen

Eine Liste in einem Microsoft Word-Dokument ist ein Satz von Listenformatierungseigenschaften. Die Formatierung der Listen wird im gespeichertListCollection Sammlung separat aus den Textabsätzen.

Sie erstellen keine Objekte dieser Klasse. Es gibt immer nur einenListCollection Objekt pro Dokument und es ist über das zugänglichLists Eigentum.

Um eine neue Liste basierend auf einer vordefinierten Listenvorlage oder einem Listenstil zu erstellen, verwenden Sie dieAdd Methode.

Um eine neue Liste mit einer Formatierung zu erstellen, die mit einer vorhandenen Liste identisch ist, verwenden Sie dieAddCopy Methode.

Um einen Absatz mit Aufzählungszeichen oder Nummerierung zu versehen, müssen Sie Listenformatierung auf einen Absatz anwenden, indem Sie a zuweisenListEinspruch gegen the List Eigentum vonListFormat.

Um die Listenformatierung aus einem Absatz zu entfernen, verwenden Sie dieRemoveNumbers -Methode.

Wenn Sie sich ein wenig mit WordprocessingML auskennen, wissen Sie vielleicht, dass es separate Konzepte für „Liste“ und „Listendefinition“ definiert. Dies entspricht genau der Speicherung der Listenformatierung in einem Microsoft Word-Dokument auf der unteren Ebene. Die Listendefinition ist wie ein „Schema“ und die Liste ist wie eine Instanz einer Listendefinition.

Um das Programmiermodell zu vereinfachen, verbirgt Aspose.Words die Unterscheidung zwischen Liste und Listendefinition auf die gleiche Weise, wie Microsoft Word dies in seiner Benutzeroberfläche verbirgt. Dadurch können Sie sich mehr darauf konzentrieren, wie Ihr Dokument aussehen soll, anstatt Erstellen von Low-Level-Objekten, um die Anforderungen des Microsoft Word-Dateiformats zu erfüllen.

Es ist nicht möglich, Listen zu löschen, nachdem sie in der aktuellen Version von Aspose.Words. erstellt wurden. Dies ähnelt Microsoft Word, wo der Benutzer keine explizite Kontrolle über Listendefinitionen hat.

Beispiele

Zeigt, wie ein Dokument mit einem Beispiel aller Listen aus einem anderen Dokument erstellt wird.

public void PrintOutAllLists()
{
    Document srcDoc = new Document(MyDir + "Rendering.docx");

    Document dstDoc = new Document();
    DocumentBuilder builder = new DocumentBuilder(dstDoc);

    foreach (List srcList in srcDoc.Lists)
    {
        List dstList = dstDoc.Lists.AddCopy(srcList);
        AddListSample(builder, dstList);
    }

    dstDoc.Save(ArtifactsDir + "Lists.PrintOutAllLists.docx");
}

private static void AddListSample(DocumentBuilder builder, List list)
{
    builder.Writeln("Sample formatting of list with ListId:" + list.ListId);
    builder.ListFormat.List = list;
    for (int i = 0; i < list.ListLevels.Count; i++)
    {
        builder.ListFormat.ListLevelNumber = i;
        builder.Writeln("Level " + i);
    }

    builder.ListFormat.RemoveNumbers();
    builder.Writeln();
}

Zeigt, wie die Nummerierung in einer Liste durch Kopieren einer Liste neu gestartet wird.

Document doc = new Document();

// Eine Liste ermöglicht es uns, Absätze mit Präfixsymbolen und Einzügen zu organisieren und zu dekorieren.
 // Wir können verschachtelte Listen erstellen, indem wir die Einrückungsebene erhöhen.
 // Wir können eine Liste beginnen und beenden, indem wir die „ListFormat“-Eigenschaft eines Document Builders verwenden.
// Jeder Absatz, den wir zwischen dem Anfang und dem Ende einer Liste hinzufügen, wird zu einem Element in der Liste.
// Erstellen Sie eine Liste aus einer Microsoft Word-Vorlage und passen Sie deren erste Listenebene an.
List list1 = doc.Lists.Add(ListTemplate.NumberArabicParenthesis);
list1.ListLevels[0].Font.Color = Color.Red;
list1.ListLevels[0].Alignment = ListLevelAlignment.Right;

// Wenden Sie unsere Liste auf einige Absätze an.
DocumentBuilder builder = new DocumentBuilder(doc);

builder.Writeln("List 1 starts below:");
builder.ListFormat.List = list1;
builder.Writeln("Item 1");
builder.Writeln("Item 2");
builder.ListFormat.RemoveNumbers();

// Wir können eine Kopie einer vorhandenen Liste zur Listensammlung des Dokuments hinzufügen
// um eine ähnliche Liste zu erstellen, ohne Änderungen am Original vorzunehmen.
List list2 = doc.Lists.AddCopy(list1);
list2.ListLevels[0].Font.Color = Color.Blue;
list2.ListLevels[0].StartAt = 10;

// Die zweite Liste auf neue Absätze anwenden.
builder.Writeln("List 2 starts below:");
builder.ListFormat.List = list2;
builder.Writeln("Item 1");
builder.Writeln("Item 2");
builder.ListFormat.RemoveNumbers();

doc.Save(ArtifactsDir + "Lists.RestartNumberingUsingListCopy.docx");

Zeigt, wie mit Listenebenen gearbeitet wird.

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

Assert.False(builder.ListFormat.IsListItem);

// Eine Liste ermöglicht es uns, Absätze mit Präfixsymbolen und Einzügen zu organisieren und zu dekorieren.
 // Wir können verschachtelte Listen erstellen, indem wir die Einrückungsebene erhöhen.
 // Wir können eine Liste beginnen und beenden, indem wir die „ListFormat“-Eigenschaft eines Document Builders verwenden.
// Jeder Absatz, den wir zwischen dem Anfang und dem Ende einer Liste hinzufügen, wird zu einem Element in der Liste.
// Nachfolgend finden Sie zwei Arten von Listen, die wir mit einem Document Builder erstellen können.
// 1 – Eine nummerierte Liste:
// Nummerierte Listen erstellen eine logische Reihenfolge für ihre Absätze, indem sie jedes Element nummerieren.
builder.ListFormat.List = doc.Lists.Add(ListTemplate.NumberDefault);

Assert.True(builder.ListFormat.IsListItem);

// Durch Setzen der Eigenschaft „ListLevelNumber“ können wir die Listenebene erhöhen
// um eine eigenständige Unterliste beim aktuellen Listenelement zu beginnen.
// Die Microsoft Word-Listenvorlage namens „NumberDefault“ verwendet Zahlen, um Listenebenen für die erste Listenebene zu erstellen.
 // Tiefere Listenebenen verwenden Buchstaben und römische Kleinbuchstaben.
for (int i = 0; i < 9; i++)
{
    builder.ListFormat.ListLevelNumber = i;
    builder.Writeln("Level " + i);
}

// 2 – Eine Liste mit Aufzählungszeichen:
// Diese Liste fügt vor jedem Absatz einen Einzug und ein Aufzählungszeichen („•“) ein.
// Auf tieferen Ebenen dieser Liste werden andere Symbole verwendet, z. B. „■“ und „○“.
builder.ListFormat.List = doc.Lists.Add(ListTemplate.BulletDefault);

for (int i = 0; i < 9; i++)
{
    builder.ListFormat.ListLevelNumber = i;
    builder.Writeln("Level " + i);
}

// Wir können die Listenformatierung deaktivieren, um nachfolgende Absätze nicht als Listen zu formatieren, indem wir das Flag „Liste“ deaktivieren.
builder.ListFormat.List = null;

Assert.False(builder.ListFormat.IsListItem);

doc.Save(ArtifactsDir + "Lists.SpecifyListLevel.docx");

Siehe auch