RichTextBox

Додати текст

1.

richTextBox1.Document.Blocks.Clear();

richTextBox1.Document.Blocks.Add(new Paragraph(new Run("Текст 1")));

2.

TextRange textRange = new TextRange(richTextBox.Document.ContentStart, richTextBox.Document.ContentEnd);

textRange.Text = "Новий текст";

Прочитати текст

string richText = new TextRange(richTextBox.Document.ContentStart, richTextBox.Document.ContentEnd).Text;

Виділений текст

richTextBox.Selection.Text

Приклад виділення

TextRange tempRange = new TextRange(rtbEditor.Document.ContentStart, rtbEditor.Selection.Start);

            txtStatus.Text = "Виділення починається з символу номер: " + tempRange.Text.Length + 

            Environment.NewLine;

            txtStatus.Text += "Виділено символів: " + rtbEditor.Selection.Text.Length + 

            Environment.NewLine;

            txtStatus.Text += "Виділений текст: " + rtbEditor.Selection.Text;

Є можливість пофарбувати окрему фразу

            Paragraph paragraph = new Paragraph();

            richTextBox.Document = new FlowDocument(paragraph);

            paragraph.Inlines.Add("Простий текст");

            paragraph.Inlines.Add(new LineBreak());

            paragraph.Inlines.Add(new Bold(new Run("Жирний і червоний текст"))

            {

                Foreground = Brushes.Red

            });

            paragraph.Inlines.Add(new LineBreak());

            paragraph.Inlines.Add("Простий текст");

Тло

paragraph.Background = Brushes.Red; 

XAML

<RichTextBox Margin="10"> 

   <FlowDocument> 

      <Paragraph FontSize="36">Привіт, Світ!</Paragraph> 

      <Paragraph FontStyle="Italic" TextAlignment="Left" FontSize="14" Foreground="Gray">

      Мене можна редагувати!</Paragraph> 

   </FlowDocument> 

</RichTextBox>