Class ContentElement
Represents a base class for all content elements in the content model.
Inheritance
Implements
Namespace: IronWord.Models.Abstract
Assembly: IronWord.dll
Syntax
public abstract class ContentElement : Object
Working with any piece of content in an IronWord document through one shared shape in C# is what ContentElement makes possible. A paragraph, a run, a table, an image, a shape, and a chart are all content elements, so this base is what lets the library treat the body of a document as one uniform tree of nodes that can be located, moved, and replaced. You rarely name ContentElement directly in everyday code, but understanding it explains why elements share the same handful of positioning operations.
Concrete elements such as Break, Chart, Image, ImageContent, Shape, ShapeContent, and TextContent derive from it, and so do the parent-side bases ParentElement and TextContentElement. Once an element has been added to a document it gains a Parent, which points at the ParentElement that holds it, so a node always knows where it sits in the tree. The Status property records whether the element is new, updated, or unchanged, which the save pipeline reads when it writes the file back.
The members that matter day to day are the editing operations every element inherits. Remove detaches the element from its parent, Replace swaps in a new child at the same position, and Clone returns a deep copy you can place elsewhere. GetIndex<T> reports where the element falls among siblings of its own type. Because these live on the base, the same call works whether you hold an image, a paragraph, or a table, which keeps editing logic short.
using IronWord;
using IronWord.Models;
WordDocument doc = new WordDocument("input.docx");
foreach (Paragraph paragraph in doc.Paragraphs)
paragraph.Remove();
doc.Save("trimmed.docx");The edit text how-to walks through changing element content, the remove text how-to shows detaching nodes, and the document element tutorial maps the whole tree.
Constructors
ContentElement()
Initializes a new instance of the ContentElement class.
Declaration
protected ContentElement()
Properties
Parent
Gets the parent element of this element.
Declaration
public ParentElement Parent { get; }
Property Value
| Type | Description |
|---|---|
| ParentElement |
Status
Gets or sets the status of the element, indicating whether it is new, updated, or deleted.
Declaration
public ElementStatus Status { get; set; }
Property Value
| Type | Description |
|---|---|
| IronSoftware.Abstractions.Word.ElementStatus |
Methods
Clone()
Creates a copy of the ContentElement.
Declaration
public virtual object Clone()
Returns
| Type | Description |
|---|---|
| System.Object | A new instance of the Shape with all properties copied. |
CloneObject()
Declaration
protected virtual object CloneObject()
Returns
| Type | Description |
|---|---|
| System.Object |
GetIndex<T>()
Gets the index of this element within its parent's list of child elements of the same type.
Declaration
protected int GetIndex<T>()
where T : ContentElement
Returns
| Type | Description |
|---|---|
| System.Int32 | The index of this element, or 0 if it has no parent. |
Type Parameters
| Name | Description |
|---|---|
| T | The type of the element and its siblings. |
Remove()
Declaration
public virtual void Remove()
Replace(IWordDocumentObject)
Replaces the current element with a new child element into same position within parent.
Declaration
public void Replace(IWordDocumentObject newChild)
Parameters
| Type | Name | Description |
|---|---|---|
| IronSoftware.Abstractions.Word.IWordDocumentObject | newChild | The new child element to replace the current element. |