Item

SectionCollection indexer

Извлекает раздел по заданному индексу.

public Section this[int index] { get; }
Параметр Описание
index Индекс в списке разделов.

Примечания

Индекс отсчитывается от нуля.

Отрицательные индексы разрешены и указывают на доступ из задней части коллекции. Например, -1 означает последний элемент, -2 означает предпоследний и так далее.

Если индекс больше или равен количеству элементов в списке, возвращает нулевую ссылку.

Если индекс отрицательный и его абсолютное значение больше, чем количество элементов в списке, возвращает нулевую ссылку.

Примеры

Показывает, когда пересчитывать макет страницы документа.

Document doc = new Document();

 // Пустой документ состоит из раздела, в котором есть тело, а у него, в свою очередь, есть абзац.
 // Мы можем добавить содержимое в этот документ, добавив в этот абзац такие элементы, как фрагменты текста, фигуры или таблицы.
Assert.AreEqual(NodeType.Section, doc.GetChild(NodeType.Any, 0, true).NodeType);
Assert.AreEqual(NodeType.Body, doc.Sections[0].GetChild(NodeType.Any, 0, true).NodeType);
Assert.AreEqual(NodeType.Paragraph, doc.Sections[0].Body.GetChild(NodeType.Any, 0, true).NodeType);

 // Если мы добавим новый раздел, подобный этому, у него не будет тела или каких-либо других дочерних узлов.
doc.Sections.Add(new Section(doc));

Assert.AreEqual(0, doc.Sections[1].GetChildNodes(NodeType.Any, true).Count);

 // Запустите метод "EnsureMinimum", чтобы добавить тело и абзац в этот раздел, чтобы начать его редактирование.
doc.LastSection.EnsureMinimum();

Assert.AreEqual(NodeType.Body, doc.Sections[1].GetChild(NodeType.Any, 0, true).NodeType);
Assert.AreEqual(NodeType.Paragraph, doc.Sections[1].Body.GetChild(NodeType.Any, 0, true).NodeType);

doc.Sections[0].Body.FirstParagraph.AppendChild(new Run(doc, "Hello world!"));

Assert.AreEqual("Hello world!", doc.GetText().Trim());

Показывает, как подготовить новый узел раздела к редактированию.

Document doc = new Document();

 // Пустой документ состоит из раздела, в котором есть тело, а у него, в свою очередь, есть абзац.
 // Мы можем добавить содержимое в этот документ, добавив в этот абзац такие элементы, как фрагменты текста, фигуры или таблицы.
Assert.AreEqual(NodeType.Section, doc.GetChild(NodeType.Any, 0, true).NodeType);
Assert.AreEqual(NodeType.Body, doc.Sections[0].GetChild(NodeType.Any, 0, true).NodeType);
Assert.AreEqual(NodeType.Paragraph, doc.Sections[0].Body.GetChild(NodeType.Any, 0, true).NodeType);

 // Если мы добавим новый раздел, подобный этому, у него не будет тела или каких-либо других дочерних узлов.
doc.Sections.Add(new Section(doc));

Assert.AreEqual(0, doc.Sections[1].GetChildNodes(NodeType.Any, true).Count);

 // Запустите метод "EnsureMinimum", чтобы добавить тело и абзац в этот раздел, чтобы начать его редактирование.
doc.LastSection.EnsureMinimum();

Assert.AreEqual(NodeType.Body, doc.Sections[1].GetChild(NodeType.Any, 0, true).NodeType);
Assert.AreEqual(NodeType.Paragraph, doc.Sections[1].Body.GetChild(NodeType.Any, 0, true).NodeType);

doc.Sections[0].Body.FirstParagraph.AppendChild(new Run(doc, "Hello world!"));

Assert.AreEqual("Hello world!", doc.GetText().Trim());

Смотрите также