как добавить абзацы разных форматов в RichTextBox

У меня есть RichTextBox

<RichTextBox x:Name="rtbReport_RTF" Margin="10"  BorderBrush="Gray" Background="White" Padding="0"/>

Я могу добавить абзацы с разными форматами с помощью этого:

FlowDocument doc = new FlowDocument();

        Paragraph p = new Paragraph(new Run("Hello, world1!"));
        p.FontSize = 36;
        p.TextAlignment = TextAlignment.Left;
        p.Foreground = Brushes.Black;
        p.Background = Brushes.White;
        p.Margin = new Thickness(0);
        doc.Blocks.Add(p);

        Paragraph p2 = new Paragraph(new Run("Hello, world2!"));
        p2.FontSize = 36;
        p2.TextAlignment = TextAlignment.Left;
        p2.Foreground = Brushes.Red;
        p2.Background = Brushes.White;
        p2.Margin = new Thickness(0);
        doc.Blocks.Add(p2);

        rtbReport_RTF.Document = doc;

Что мне нужно сделать, так это иметь разные форматы в одном и том же абзаце. Как

Привет, мир!

Привет, нормальный и Мир! с желтым фоном и красным передним планом.

Спасибо


person Luca    schedule 17.05.2016    source источник
comment
Взгляните на это.   -  person diiN__________    schedule 17.05.2016


Ответы (1)


Вы можете использовать потоковый документ

FlowDocument doc = new FlowDocument();

Paragraph par = new Paragraph();

Run run1 = new Run("Hello");
par.Inlines.Add(run1);

Run run2 = new Run("World");
run2.Background = Brushes.Yellow;
run2.Foreground = Brushes.Red;
run2.FontWeight = FontWeights.Bold;
par.Inlines.Add(run2);

doc.Blocks.Add(par);

myRichTextBox.Document = doc;
person Patrick    schedule 17.05.2016