You can use the RTB control in WPF.
You can change the formatting of runs in code as in
this example[
^]. You will have to compose paragraphs from "runs" and add them to the text box. Alternately, you could select pieces of text and apply formatting (
see here for more[
^]).
Cheers.