Применение стиля к RichTextBlock с использованием информации о диапазоне в UWP - PullRequest
0 голосов
/ 27 сентября 2019

Этот фрагмент кода взят из приложения в стиле RichEditBox,

Document.Selection.SetRange(paragraphStartIndex, paragraphStartIndex + data.Text.Length);
Document.Selection.CharacterFormat.Strikethrough = FormatEffect.On;

Однако можем ли мы сделать аналогичные вещи с RichTextBlock?

Я знаю, что могу добавить <run> или <Span> и добавить информацию о стиле к этим элементам, но есть ли способ получить весь контент RichTextBlock и применить стиль к диапазону текставнутри?

1 Ответ

0 голосов
/ 27 сентября 2019

RichTextBlock и RichEditBox являются элементами управления, относящимися к форматированному тексту, но они очень сильно отличаются друг от друга.

Процесс отображения RichEditBox в формате форматированного текста похож на рисование на бумаге, поскольку он содержит измененную функцию, поэтому в качестве носителя указан полный Document.

RichTextBlock не несет ответственности за изменения, он отвечает только за отображение, поэтому он больше похож на строительные блоки.RichTextBlock имеет много элементов дисплея для визуализации различных визуальных эффектов, но они не зависят друг от друга.Вы не можете установить эффекты для определенного характера.Вы можете установить только эффект для всего блока (например, Paragraph).

1012 * При выборе текста в RichTextBlock, вы можете получить родительский элемент выбранного текста точки через RichTextBlock.SelectionStart.Parentили RichTextBlock.SelectionEnd.Parent, и установить эффект.

с наилучшими пожеланиями.

...