InlineStory

InlineStory class

Basisklasse für Knoten auf Inline-Ebene, die Absätze und Tabellen enthalten können.

Um mehr zu erfahren, besuchen Sie dieLogische Ebenen von Knoten in einem Dokument Dokumentationsartikel.

public abstract class InlineStory : CompositeNode

Eigenschaften

NameBeschreibung
Count { get; }Ruft die Anzahl der unmittelbar untergeordneten Elemente dieses Knotens ab.
CustomNodeId { get; set; }Gibt die benutzerdefinierte Knotenkennung an.
virtual Document { get; }Ruft das Dokument ab, zu dem dieser Knoten gehört.
FirstChild { get; }Ruft das erste untergeordnete Element des Knotens ab.
FirstParagraph { get; }Ruft den ersten Absatz der Geschichte ab.
Font { get; }Bietet Zugriff auf die Schriftformatierung des Ankerzeichens dieses Objekts.
HasChildNodes { get; }RückgabenWAHR wenn dieser Knoten untergeordnete Knoten hat.
override IsComposite { get; }RückgabenWAHR da dieser Knoten untergeordnete Knoten haben kann.
IsDeleteRevision { get; }Gibt „true“ zurück, wenn dieses Objekt in Microsoft Word gelöscht wurde, während die Änderungsverfolgung aktiviert war.
IsInsertRevision { get; }Gibt „true“ zurück, wenn dieses Objekt in Microsoft Word eingefügt wurde, während die Änderungsverfolgung aktiviert war.
IsMoveFromRevision { get; }RückgabenWAHR wenn dieses Objekt in Microsoft Word verschoben (gelöscht) wurde, während die Änderungsverfolgung aktiviert war.
IsMoveToRevision { get; }RückgabenWAHR wenn dieses Objekt in Microsoft Word verschoben (eingefügt) wurde, während die Änderungsverfolgung aktiviert war.
LastChild { get; }Ruft das letzte untergeordnete Element des Knotens ab.
LastParagraph { get; }Ruft den letzten Absatz der Geschichte ab.
NextSibling { get; }Ruft den Knoten ab, der diesem Knoten unmittelbar folgt.
abstract NodeType { get; }Ruft den Typ dieses Knotens ab.
Paragraphs { get; }Ruft eine Sammlung von Absätzen ab, die unmittelbare untergeordnete Elemente der Story sind.
ParentNode { get; }Ruft den unmittelbar übergeordneten Knoten dieses Knotens ab.
ParentParagraph { get; }Ruft das übergeordnete Element abParagraph dieses Knotens.
PreviousSibling { get; }Ruft den Knoten ab, der diesem Knoten unmittelbar vorausgeht.
Range { get; }Gibt einenRangeObjekt, das den Teil eines Dokuments darstellt, der in diesem Knoten enthalten ist.
abstract StoryType { get; }Gibt den Typ der Story zurück.
Tables { get; }Ruft eine Sammlung von Tabellen ab, die unmittelbare untergeordnete Elemente der Story sind.

Methoden

NameBeschreibung
abstract Accept(DocumentVisitor)Nimmt einen Besucher auf.
abstract AcceptEnd(DocumentVisitor)Ruft bei Implementierung in einer abgeleiteten Klasse die Methode VisitXXXEnd des angegebenen Dokumentbesuchers auf.
abstract AcceptStart(DocumentVisitor)Ruft bei Implementierung in einer abgeleiteten Klasse die Methode VisitXXXStart des angegebenen Dokumentbesuchers auf.
AppendChild<T>(T)Fügt den angegebenen Knoten am Ende der Liste der untergeordneten Knoten für diesen Knoten hinzu.
Clone(bool)Erstellt ein Duplikat des Knotens.
CreateNavigator()Erstellt einen Navigator, der zum Durchlaufen und Lesen von Knoten verwendet werden kann.
EnsureMinimum()Wenn das letzte untergeordnete Element kein Absatz ist, wird ein leerer Absatz erstellt und angehängt.
GetAncestor(NodeType)Ruft den ersten Vorfahren des angegebenenNodeType .
GetAncestor(Type)Ruft den ersten Vorgänger des angegebenen Objekttyps ab.
GetChild(NodeType, int, bool)Gibt einen N-ten untergeordneten Knoten zurück, der dem angegebenen Typ entspricht.
GetChildNodes(NodeType, bool)Gibt eine Live-Sammlung von untergeordneten Knoten zurück, die dem angegebenen Typ entsprechen.
GetEnumerator()Bietet Unterstützung für die Iteration des For-Each-Stils über die untergeordneten Knoten dieses Knotens.
override GetText()Ruft den Text dieses Knotens und aller seiner untergeordneten Knoten ab.
IndexOf(Node)Gibt den Index des angegebenen untergeordneten Knotens im untergeordneten Knoten-Array zurück.
InsertAfter<T>(T, Node)Fügt den angegebenen Knoten unmittelbar nach dem angegebenen Referenzknoten ein.
InsertBefore<T>(T, Node)Fügt den angegebenen Knoten unmittelbar vor dem angegebenen Referenzknoten ein.
NextPreOrder(Node)Ruft den nächsten Knoten gemäß dem Pre-Order-Tree-Traversal-Algorithmus ab.
PrependChild<T>(T)Fügt den angegebenen Knoten am Anfang der Liste der untergeordneten Knoten für diesen Knoten hinzu.
PreviousPreOrder(Node)Ruft den vorherigen Knoten gemäß dem Pre-Order-Tree-Traversal-Algorithmus ab.
Remove()Entfernt sich selbst vom übergeordneten Element.
RemoveAllChildren()Entfernt alle untergeordneten Knoten des aktuellen Knotens.
RemoveChild<T>(T)Entfernt den angegebenen untergeordneten Knoten.
RemoveSmartTags()Entfernt alleSmartTag Nachkommenknoten des aktuellen Knotens.
SelectNodes(string)Wählt eine Liste von Knoten aus, die dem XPath-Ausdruck entsprechen.
SelectSingleNode(string)Wählt den erstenNode das dem XPath-Ausdruck entspricht.
ToString(SaveFormat)Exportiert den Inhalt des Knotens in eine Zeichenfolge im angegebenen Format.
ToString(SaveOptions)Exportiert den Inhalt des Knotens unter Verwendung der angegebenen Speicheroptionen in eine Zeichenfolge.

Bemerkungen

InlineStory ist ein Container für Knoten auf BlockebeneParagraph UndTable.

Die Klassen, die abgeleitet sind vonInlineStory sind Inline-Knoten, die eigenen Text (Absätze und Tabellen) enthalten können. Beispielsweise kann einComment Knoten enthält Text eines Kommentars und einesFootnote enthält den Text einer Fußnote.

Beispiele

Zeigt, wie man einem Absatz einen Kommentar hinzufügt.

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
builder.Write("Hello world!");

Comment comment = new Comment(doc, "John Doe", "JD", DateTime.Today);
builder.CurrentParagraph.AppendChild(comment);
builder.MoveTo(comment.AppendChild(new Paragraph(doc)));
builder.Write("Comment text.");

Assert.AreEqual(DateTime.Today, comment.DateTime);

    // In Microsoft Word können wir mit der rechten Maustaste auf diesen Kommentar im Dokumenttext klicken, um ihn zu bearbeiten oder darauf zu antworten.
doc.Save(ArtifactsDir + "InlineStory.AddComment.docx");

Zeigt, wie Fußnoten eingefügt und angepasst werden.

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

// Text hinzufügen und mit einer Fußnote darauf verweisen. Diese Fußnote enthält einen kleinen hochgestellten Verweis
// Markieren Sie nach dem Text, auf den verwiesen wird, und erstellen Sie einen Eintrag unter dem Haupttext am unteren Seitenrand.
// Dieser Eintrag enthält das Referenzzeichen und den Referenztext der Fußnote,
// die wir an die Methode „InsertFootnote“ des Dokument-Generators übergeben.
builder.Write("Main body text.");
Footnote footnote = builder.InsertFootnote(FootnoteType.Footnote, "Footnote text.");

// Wenn diese Eigenschaft auf "true" gesetzt ist, dann ist das Referenzzeichen unserer Fußnote
// wird sein Index unter allen Fußnoten des Abschnitts sein.
// Dies ist die erste Fußnote, daher lautet das Referenzzeichen „1“.
Assert.True(footnote.IsAuto);

    // Wir können den Dokumentgenerator in die Fußnote verschieben, um den Referenztext zu bearbeiten.
builder.MoveTo(footnote.FirstParagraph);
builder.Write(" More text added by a DocumentBuilder.");
builder.MoveToDocumentEnd();

Assert.AreEqual("\u0002 Footnote text. More text added by a DocumentBuilder.", footnote.GetText().Trim());

builder.Write(" More main body text.");
footnote = builder.InsertFootnote(FootnoteType.Footnote, "Footnote text.");

// Wir können ein benutzerdefiniertes Referenzzeichen festlegen, das die Fußnote anstelle ihrer Indexnummer verwendet.
footnote.ReferenceMark = "RefMark";

Assert.False(footnote.IsAuto);

// Ein Lesezeichen mit dem Flag "IsAuto" auf true wird immer noch seinen tatsächlichen Index anzeigen
// Auch wenn vorherige Lesezeichen benutzerdefinierte Referenzzeichen anzeigen, ist das Referenzzeichen dieses Lesezeichens eine „3“.
builder.Write(" More main body text.");
footnote = builder.InsertFootnote(FootnoteType.Footnote, "Footnote text.");

Assert.True(footnote.IsAuto);

doc.Save(ArtifactsDir + "InlineStory.AddFootnote.docx");

Siehe auch