Чтобы получить фактический XAML, созданный пользователем внутри RichTextBox:
TextRange tr = new TextRange(myRichTextBox.Document.ContentStart,
myRichTextBox.Document.ContentEnd);
MemoryStream ms = new MemoryStream();
tr.Save(ms, DataFormats.Xaml);
string xamlText = ASCIIEncoding.Default.GetString(ms.ToArray());
EDIT: передо мной нет кода для тестирования, но экземпляр типа TextRange
имеет метод Save
(to stream), который принимает параметр DataFormats
, который может быть DataFormats.Rtf