Главная » WPF » Текстовые данные WPF

0

В WPF есть два способа работы с текстовыми данными: потоки и наборы. В большинстве  случаев, когда приходится  динамически строить и инспектировать текст, пользоваться наборами проще. Но для редактирования обогащенного текс# та (и выбора фрагмента в нем) необходимо понимать некоторые базовые аспекты потоковой  модели текста.

Модель наборов для манипуляций с текстом работает так же, как все прочие встречавшиеся нам раньше управляющие свойства: мы конструируем элементы текста и добавляем  их в те или иные наборы.

FlowDocument document = new FlowDocument(); Paragraph para = new Paragraph(); para.Inlines.Add(new Run(«Hello World»)); document.Blocks.Add(para);

Обратите  внимание,  что у объекта  FlowDocument есть свойство  Blocks, а у объекта Paragraph – свойство Inlines. Все множество элементов текста разбито на две больших категории: блочные и встроенные. Блочный элемент занимает на эк# ране прямоугольник, он начинается с новой строки и продолжается без разрывов. Иными  словами, блочные элементы  ведут себя как все прочие элементы  WPF с тем исключением, что могут пересекать  границы  страниц.  Примерами блочных элементов  могут служить  Paragraph или Table. Встроенные  элементы   могут за# нимать несколько  строк. К их числу относятся,  например, Span, Run и Bold.

Объектная модель текста налагает  жесткие  правила  на вложенность элемен# тов, чтобы обеспечить предсказуемое поведение редакторов. Эти правила доволь# но просты:

1.  Run – единственный элемент, который может содержать текстовые строки

(собственно,  содержимое).

Рис. 3.28. Элемент RichTextBox, в котором выделен фрагмент текста

Источник: К. Андерсон  Основы  Windows Presentation Foundation. Пер. с англ. А. Слинкина — М.: ДМК Пресс, 2008 — 432 с.: ил.

По теме:

  • Комментарии