誰でも私のためにこれにいくつかの光を投げてもいいですか、私はそれにxamlファイルを読み込んでいるRichTextBoxを持っています。 RichTxtBoxのテキストの特定の部分を実際のデータに置き換える必要があります。つまり、[[our_name] 'は' Billie Brags 'に置き換えられます。私のxamlファイルには太字の&のフォントサイズのような書式が含まれています。RichTextBoxテキストを置き換えても書式を維持する
私のコードを実行すると(下図参照)、テキストはOKに変更できますが、フォーマットが失われます。
どのように私はこれを行うことができ、フォーマットを維持するか考えていますか?
は、私はあなたがRTF形式でTextRange
の内容を保存し、RTBの内容をリロードする必要があります信じて
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;
また、 'UTF32Encoding.Default.GetString(memoryStream.ToArray());を使用すると便利です。 –
待機UTF32Encodingは、Unicodeテキストにいくつかの問題を与えます。 UTF8Encodingさえ。うーん.. –