WPF RichTextBox

2075 / WPF / Текст / 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>