I recently needed to use a RichTextBox for a project, but was disapointed to find there is no way of binding the content of the control. Luckily it's possible to access the XAML property and inject RichText format XAML into it. I decided to create a control derived from RichTextBox with a dependency property used to bind the Rich Text XAML.
The first step is to create the control (I re-exposed the mouse click event as the RichTextBox buries it):
The next step is to create a View Model with some XAML rich text. It is important to be careful what you bind as you could end up doing an 'injection attack' on your markup by accident!
Next the new control needs adding to a view:
I also added a stripped down template to remove the TextBox type appearance to get it looking like a TextBlock.