Can anybody cast some light on this for me, I have a RichTextBox which im loading an xaml file into it. I need to Replace certain Parts of the RichTxtBox’s text with real data i.e. ‘[our_name]’ is replaced with ‘Billie Brags’. My xaml file contains formatting like bold & font size.
When I run my code (shown below) I can change the text OK but im loosing the formatting.
Any idea how I can do this and keep the formatting?
Thank you
FileStream fs = new FileStream(fileName, FileMode.Open, FileAccess.Read);
using (fs)
{
TextRange RTBText = new TextRange(rtb_wording.Document.ContentStart, rtb_wording.Document.ContentEnd);
RTBText.Load(fs, DataFormats.Xaml);
}
TextRange tr = new TextRange(rtb_wording.Document.ContentStart, rtb_wording.Document.ContentEnd);
string rtbContent = tr.Text;
rtbContent = rtbContent.Replace("<our_name>", "Billie Brags");
System.Windows.MessageBox.Show(rtbContent);
FlowDocument myFlowDoc = new FlowDocument();
// Add paragraphs to the FlowDocument
myFlowDoc.Blocks.Add(new Paragraph(new Run(rtbContent)));
rtb_wording.Document = myFlowDoc;
Its working, this is how I did it in the end, not too pretty but it functions. WPF RTB really should have rtf property like winforms…
Thanks to Kent for putting me on the right track.